Декомпилятор форм - есть проблемы. #329586


#0 by asady
Попытался сделать полностью виртуальную форму документа для этого записываю программно все элементы формы и их свойства. Затем пытаюсь по этому тексту нарисовать форму с "чистого листа". Проблема в том, что при чтении свойств элемента формы, я не могу никак узнать на какой странице какой панели этот элемент расположен. В свойствах элемента такой инфы нет. Коллеги подскажите каким еще образом можно программно выскрести инфу по элементам формы?
#1 by asady
+1 короче спасибо буду копать дальше... 2TormozIT - хочу покопать твою идею по деструктивному анализу формы с цельи выяснения родителя элемента формы. Если будет результат засвечу. Если у тебя что есть на эту тему - скажи.
#2 by TormozIT
Мне кстати тоже скоро придется писать это =) Так что жду от тебя хорошо оформленного готового решения ;)
#3 by asady
вот собственно код: жду откликов коллеги....
#4 by Jolly Roger
Зачем?
#5 by asady
что зачем? Если про отклики - то хочется услышать конструктивную критику. Это ведь только небольшая часть моей работы - и в качестве бонуса за данную публикацию мне хотелось бы услышать мнение коллег "по делу".
#6 by Jolly Roger
Для чего тебе "виртуальная форма документа"?
#7 by MRAK
Хорошая вещь... можно наследование замутить...
#8 by Jolly Roger
"Декомпилировать" зачем? Создавай форму программно с "чистого листа". В чем проблема-то?
#9 by MRAK
конструировать удобно. координаты тоже программно задавать, без визуализации? видел редактор ресурсов для C++ или MASM32?
#10 by Jolly Roger
Я не об этом. С точки зрения возможностей можно много чего сделать. Непонятна, пока, потребность в сабже. Хотелось бы услышать, вкратце, постановку проблемы.
#11 by Dziden2
надо тестить ёпте. А вообще дело хорошее =).
#12 by TormozIT
Молодец. В ближайшие дни буду тестировать.
#13 by tsr
ИМХО вполне можно намутить тонкого клиента
#14 by asady
+1 Точно, именно для этого и делается сей функционал.
#15 by NewNick
прикольно. работает. даже разобрал основную форму док-та ПКО (вроде самый панелистый) ;)
#16 by asady
+ Нужен сериализатор для системных перечислений 1С8.0/8.1 или хотя-бы инструмент для работы с ними: набирать уйму этих перечислений как-то "ломает" - может у кого уже есть готовое.... если сделаю серализатор - выложу.
#17 by asady
для некоторых интерфейсных системных перечислений так работает: тЗнач=ссылка на системное перечисление. тАнгИмя - имя системного перечисления на английском (по русски не хочет понимать :((
#18 by asady
+ доработал более общую версию сериализуются: ГоризонтальноеПоложение ВертикальноеПоложение Шрифт Рамка и судя по заверениям 1С этот список будет в будущем расти.
#19 by asady
+ вот версия без английских названий системных интерфейсных перечислений работает: ГоризонтальноеПоложение ВертикальноеПоложение Шрифт Рамка Цвет
#20 by TormozIT
Применил . Спасибо. Все работает. Код правда плохо читаемый в самом деле =)
#21 by asady
код плохо читаемый, потому что неочевидный. Алгоритм деструктивного анализа основан на постулате: - сигнатура любого элемента формы совпадает с сигнатурой панели/страницы на которой этот элемент находится. Сигнатура - это строка - последовательность 0 и 1, полученная при опросе элементов формы в процессе деструктивного анализа. Сигнатуры часто используются в задачах распознавания.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С