Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
ВнизМой метод Create скрывает виртуальный метод базового класса... Найти похожие ветки
← →
SnapIn (2004-12-09 06:15) [0]Мой метод Create скрывает виртуальный метод базового класса TCustomForm. Почему?
public
constructor Create(Owner: TCustomForm; iEditStatus: Integer = iAddState);
...
constructor TfmDialog.Create(Owner: TCustomForm; iEditStatus: Integer = iAddState);
begin
inherited Create(Owner);
end;
еще в справке создание конструктора описывается с директивой override
если же я дописываю в объявлении override - выдается сообщение:
Объявление Create отличается от предыдущего объявления...
← →
ЮЮ © (2004-12-09 07:07) [1]>Объявление Create отличается от предыдущего объявления...
А почему оно отличается? Если Create у наследника виртуальный, значит это ему зачем-то понадобилось. Значит и параметры у контсруктора объекта-потомка должны быть те же, что и предка.
iEditStatus можно или сделать свойством, которое устанавливать после созжания обекта или Написать ещё один конструктор, например,
constructor CreateWithStatus(Owner: TCustomForm; iEditStatus: Integer = iAddState);
и уже его использовать в своих целях.
З.Ы. Компонент, небось, был унаследован от TControl, но создается только в RunTime?
← →
KSergey © (2004-12-09 08:51) [2]> public
constructor Create(Owner: TCustomForm; iEditStatus: Integer = iAddState); reintroduce;
← →
SnapIn (2004-12-09 10:50) [3]Спасибо всем за ответы!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.039 c