Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

Мой метод 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.047 c
14-1102156124
Kirill
2004-12-04 13:28
2004.12.26
Восстановления ассоциации Delphi с файлами


14-1102322607
Суслик
2004-12-06 11:43
2004.12.26
Delphi 2005


14-1102488330
WondeRu
2004-12-08 09:45
2004.12.26
Опрос: Иностранные языки


14-1102487212
ocean
2004-12-08 09:26
2004.12.26
ДТП


3-1101193848
Нулевой
2004-11-23 10:10
2004.12.26
Скажите что с датой?