Показать сообщение отдельно
Старый 28.01.2004, 16:29   #15  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
это лишь позволит избежать модификаций дизайна формы, добавлять и править методы самой формы придется
Не придется. Например, в случае с FormRun\controlMethodOverloadObject форме передается класс-перехватчик методов. Тем самым необходимости создавать методы на форме нет. Притом создаваемым "на лету" FormTreeControl можно придумать уникальное заковыристое имя. Тогда метод на перехватчике нужен только один: заковыристоеимяконтрола_selectionChanged().

Не проверял, работает ли другой прием: создавать методы на SysSetupFormRun, активизируя потом FormRun\controlMethodOverload.

Не столь сложно работать и с произвольным datasource. Единственное, что реализовать трудно, это обратную связь от источника данных: перемещение фокуса (выделенного элемента) по дереву синхронно с перемещением по datasource (т.е. с каждым вызовом datasource.active()). Но тут можно включить таймер c частотой ~100 мсек., который будет периодически проверять источник данных на предмет смены текущей записи. Пользователь и не заметит отличия.

Цитата:
В настоящий момент, перенос функциональности показа дерева, с шаблона для справочника номенклатуры, на новую таблицу займет у меня не более 15 минут. При переходе на новый сервиспак и того меньше. Стоит ли игра свеч?
Думаю, не всегда Но ведь профессия программиста в том и заключается, чтобы создавать себе проблемы, а потом решать их! Иначе не интересно.