Суть проблемы
имеем три класса
class Базовый = класс_Базовый@MD{}
class ТестКлассНеПроизводный = класс_КлассНеПроизводный@MD{}
class ТестКлассПроизводный = класс_КлассПроизводный@MD : Базовый {}
в каждом тестовом классе реализуем следующий функционал
Перем _ВыполняемыйМодуль;
Процедура СоздатьЭкземпляр()
Сообщить("Создан экземпляр объекта через конструктор СоздатьЭкземпляр");
КонецПроцедуры // СоздатьЭкземпляр
Процедура Конструктор()
_ВыполняемыйМодуль = СоздатьОбъект("ВыполняемыйМодуль");
_ВыполняемыйМодуль.СформироватьОшибку("в текущем режиме вызова Конструктора не должно происходить");
КонецПроцедуры // Конструктор
делаем вызов следующего характера
_Фабрика = СоздатьОбъект("ФабрикаОбъектов");
Попытка
//тест раз
обОбычныйКласс = _Фабрика.Новый("ТестКлассНеПроизводный","СоздатьЭкземпляр");
//тест два
обПроизводныйКласс = _Фабрика.Новый("ТестКлассПроизводный","СоздатьЭкземпляр");
Исключение
РезультатТестов = 0;
Сообщить(ОписаниеОшибки(),"!!!");
КонецПопытки;
и имеем следующее
ТестКлассПроизводный::Конструктор() : в текущем режиме вызова Конструктора не должно происходить
_ВыполняемыйМодуль.СформироватьОшибку("в текущем режиме вызова Конструктора не должно происходить");
Вопрос: получается если класс является наследником от Базового вызова конструктора указанного в параметр Фабрики не произойдет?
испробовано на стабильном релизе 2.5.0.5
и на ночных сборках от 7 февраля 2008 года и от 28 февраля 2008 года
Это нормально или я туплю