Вчера вечером стал очевидцем отказа классом потомком вызывать метод new() своего родителя. Как получилось такое восстановить....
Есть класс наследник от RunBase, назовем его ClassGeneral. В классе ClassGeneral унаследован метод new() и в нем выполняются некие действия. От класса ClassGeneral унаследовано куча классов, в основном отчетные классы. Понадобилось мне создать подобие одного из таких классов, назовем его ClassReport1. Соответственно что бы все заново не переписывать и не мучить кнопки Ctr+C и Ctrl+V воспользовался замечательной функцией дублирования, доступной по правой кнопке мыши. Сдублированный класс переименовал как мне надо, пусть будет ClassReport1_Copy, внес все нужные изменения. Запускаю свой класс и... При инициализации класса ClassReport1_Copy ни в какую не хочет выполняться метод new() класса родителя! (ClassGeneral ). Никакие танцы с бубнами (Глобальная компиляция, инкрементная компиляция класса ClassGeneral, обновление словаря, обновление данных, обновление ADO) не помогают. Так же не помог и экспорт\импорт класса (экспортировал, удалил, импортировал), что меня удивило

.
Помогло только ручное создание класса-дубликата.
Ещё нюанс. Такое явление наблюдается только при дублировании старых классов, которые уже давно были созданы. Попробовал восстановить такое поведение с помощью новой иерархии тестовых классов. Все нормально дублируется. Метод new() класса родителя выполняется как не крути.
З.Ы. Ax3.0 SP3 Может кто сможет у себя такое поведение восстановить...