|
|
#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 | |||
|