![]() |
#14 |
Ищущий знания...
|
![]()
Вчера вечером стал очевидцем отказа классом потомком вызывать метод new() своего родителя. Как получилось такое восстановить....
Есть класс наследник от RunBase, назовем его ClassGeneral. В классе ClassGeneral унаследован метод new() и в нем выполняются некие действия. От класса ClassGeneral унаследовано куча классов, в основном отчетные классы. Понадобилось мне создать подобие одного из таких классов, назовем его ClassReport1. Соответственно что бы все заново не переписывать и не мучить кнопки Ctr+C и Ctrl+V воспользовался замечательной функцией дублирования, доступной по правой кнопке мыши. Сдублированный класс переименовал как мне надо, пусть будет ClassReport1_Copy, внес все нужные изменения. Запускаю свой класс и... При инициализации класса ClassReport1_Copy ни в какую не хочет выполняться метод new() класса родителя! (ClassGeneral ). Никакие танцы с бубнами (Глобальная компиляция, инкрементная компиляция класса ClassGeneral, обновление словаря, обновление данных, обновление ADO) не помогают. Так же не помог и экспорт\импорт класса (экспортировал, удалил, импортировал), что меня удивило ![]() Помогло только ручное создание класса-дубликата. Ещё нюанс. Такое явление наблюдается только при дублировании старых классов, которые уже давно были созданы. Попробовал восстановить такое поведение с помощью новой иерархии тестовых классов. Все нормально дублируется. Метод new() класса родителя выполняется как не крути. З.Ы. Ax3.0 SP3 Может кто сможет у себя такое поведение восстановить...
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
Теги |
runbase |
|
![]() |
||||
Тема | Ответов | |||
Связи между таблицами 1:N и N:1 | 10 | |||
Связи между таблицами. | 7 | |||
связи между таблицами при установлении прав доступа | 9 |
|