Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Вопрос по заголовкам 1С... (число прочтений - 4961 )
Wirth
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 54
Зарегистрирован: 01. Марта 2010
Вопрос по заголовкам 1С...
11. Марта 2010 :: 09:25
Печать  
Пытаюсь разобраться в кишках семерки, к сожалению узнал о такой возможности только сейчас...
Гуру, подскажите!
В некоторых классах 1С есть члены данных по содержанию очень похожи на указатели, но прочитать что-то по ним не получается система падает.
Наткнулся разбираясь с классом CBLModuleInternals модуля blang.h
Член данных int* StartIDArray...  Всю голову сломал, чтобы это могло быть. Вроде адрес... А падает при попытки прочитать по нему память...
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по заголовкам 1С...
Ответ #1 - 11. Марта 2010 :: 09:57
Печать  
Поясни подробнее, что и как ты хочешь увидеть Улыбка
Куча примеров по работе с внутренностями 1С есть в исходниках 1С++.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Wirth
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 54
Зарегистрирован: 01. Марта 2010
Re: Вопрос по заголовкам 1С...
Ответ #2 - 11. Марта 2010 :: 11:40
Печать  
Если в двух словах, хочу написать плагин, в перспективе конечно, который позволит подключать к системе 1С77 свои библиотеки шифрования, как данных, так и модулей. А насущная задача такая - раздать некую конфигурацию дилерам предприятия, в которой они не смогут поменять данные обходными путями, например увеличить себе скидку или еще что...
В связи с этим пытаюсь разобраться с blang и dbend32.
В классе CBLModuleInternals наткнулся на член данных StartIDArray.
Ни как не разгадаю что это... По содержанию вроде адрес, но прочитать по нему не получается, программа падает...
Наверное это не так и важно для задачи, но в силу упрямства, хочу понять что и зачем...

И еще насущный вопрос, где в структурах модуля 1С хранит признак или индекс, для аргумента со значением по умолчанию. Тоже всю голову сломал.

Обидно, модуль компилирую - сохраняю, загружаю код - выполняю.
Но, если в модуле есть процедуры принимающие аргументы со значением по умолчанию, 1с падает... Вроде уже и бросать жалко... Шифровать исходники не эффективно, всегда можно перехватить, вот и хочу от них избавиться.

А 1С++ скачал недавно, начал смотреть. Может дорасту как-нибудь до членства в проекте Улыбка

  
Наверх
www  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Вопрос по заголовкам 1С...
Ответ #3 - 11. Марта 2010 :: 12:41
Печать  
намечается аналог КЗК2?
  

1&&2&&3
Наверх
 
IP записан
 
Donat
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 152
Зарегистрирован: 29. Мая 2006
Re: Вопрос по заголовкам 1С...
Ответ #4 - 11. Марта 2010 :: 15:52
Печать  
Я где-то на Инфостарте читал, что кто-то сделал и собирался зарелизить декомпилятор v 7.7 на погибель всяким КЗК-2  Подмигивание
  
Наверх
 
IP записан
 
Wirth
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 54
Зарегистрирован: 01. Марта 2010
Re: Вопрос по заголовкам 1С...
Ответ #5 - 11. Марта 2010 :: 15:55
Печать  
Ну не совсем. КЭК2, как я понимаю нацелена на разработчиков.
А моя задача обеспечить целостность данных, в первую очередь.
  
Наверх
www  
IP записан
 
Wirth
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 54
Зарегистрирован: 01. Марта 2010
Re: Вопрос по заголовкам 1С...
Ответ #6 - 11. Марта 2010 :: 15:57
Печать  
По-поводу де-компиляции. Видимо не сложно. P-Код простой вроде.
Другой вопрос, надо его не просто получить а зашифровать.
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по заголовкам 1С...
Ответ #7 - 11. Марта 2010 :: 18:51
Печать  
Wirth писал(а) 11. Марта 2010 :: 11:40:
И еще насущный вопрос, где в структурах модуля 1С хранит признак или индекс, для аргумента со значением по умолчанию. Тоже всю голову сломал.

В исходниках 1С++ в реализации класс CComponentImpl или используемых им спец.классов есть пример использования параметров по умолчанию.
Я использовал эти параметры для анализов методов классов 1С++ в реализации 1С++
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Donat
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 152
Зарегистрирован: 29. Мая 2006
Re: Вопрос по заголовкам 1С...
Ответ #8 - 11. Марта 2010 :: 20:47
Печать  
По поводу несложно, КЗК-2 кстати немного портит P-код, чтобы его было тяжелее декомпилировать.
  
Наверх
 
IP записан
 
Wirth
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 54
Зарегистрирован: 01. Марта 2010
Re: Вопрос по заголовкам 1С...
Ответ #9 - 12. Марта 2010 :: 10:33
Печать  
К сожалению реализацию класса CComponentImpl не нашел...
Конкретизирую вопрос.
На сколько можно доверять заголовкам 1с?
К примеру:
класс CCompileProcInfo:
void* Flag8;
void* Flag9;
объявлены как ссылки но, хранят числовые значения
а
int Flag10;
int Flag11;
хранят что-то по виду указатели, только не понятно куда, прочитать по ним не возможно

Вопрос на сколько описания классов в заголовках соответствуют. Можно ли им доверять, все ли члены данных классов в них описаны? Или лучше копать память на прямую?

И еще в случае нахождения не соответствий в заголовках, к кому можно обратиться для их корректировки?

  
Наверх
www  
IP записан
 
Wirth
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 54
Зарегистрирован: 01. Марта 2010
Re: Вопрос по заголовкам 1С...
Ответ #10 - 12. Марта 2010 :: 10:57
Печать  
Я разобрался с передачей параметров... по умолчанию...
Блин сам тупил...извините

  
Наверх
www  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Вопрос по заголовкам 1С...
Ответ #11 - 12. Марта 2010 :: 11:04
Печать  
на всякий случай напомню ссылку

http://www.1cpp.ru/wiki/OglavleniePoKlassam?v=t55

и главная http://www.1cpp.ru/wiki/HomePage

там было в чем покопаться Подмигивание
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Wirth
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 54
Зарегистрирован: 01. Марта 2010
Re: Вопрос по заголовкам 1С...
Ответ #12 - 12. Марта 2010 :: 11:07
Печать  
на wiki заголовки не свежие. в 1с++ все нормально объявлено...

class CBLModuleProcVarDescr
int Type2; // индекс константы значения по умолчанию, -1 нет

обозвал этот параметр у себя int DefValIdx;

если не сложно обновите в заголовке
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по заголовкам 1С...
Ответ #13 - 12. Марта 2010 :: 11:37
Печать  
Wirth писал(а) 12. Марта 2010 :: 10:33:
К сожалению реализацию класса CComponentImpl не нашел...

Опечатался я - название класса читать как CComponentClassImpl Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Wirth
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 54
Зарегистрирован: 01. Марта 2010
Re: Вопрос по заголовкам 1С...
Ответ #14 - 16. Марта 2010 :: 17:18
Печать  
В общем, пока форум не работал, я докопал вроде.
Просто не сразу догнал, что vtable, к примеру, это не член данных класса, а реальная виртуальная таблица. Я так понимаю, что вся технология Rainbow и 1С++, в частности, использует подмену указателей на функции в виртуальных таблицах?
Я вот пошел по иному пути, унаследовался от blang классов, а родную библиотеку переименовал в 1c_blang. Линкуется статически. Про подмену указателей, как то не подумал...

Подскажите, пожалуйста. Не получается откомпилировать формы документов, отчетов и внешних отчетов, т.е. те которые используют атрибуты формы и к чему нужен CFormContext. Его можно получить например из CGetDoc7. Но я не смог этот CGetDoc7 нормально инициализировать Печаль
Можно конечно разобрать формы вручную и заполнить список атрибутов в CFormAllCtrlsContext, но это варварство наверное. Может я чего опять не догоняю?
  
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать