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

Вниз

Виртуальный конструктор. Как правильно переопределять?   Найти похожие ветки 

 
Kolan ©   (2006-10-05 12:20) [0]

Здравствуйте,
 Никак не пойму одну вещь:

Возмем любой класс с виртуальным коструктором.  Например TComponent.

И его наследника.

TMyOwnComponent = class(TComponent)
 public
   constructor Create(AOwner: TComponent); override;
 end;


Компилируем все ОК.

А что если мне нужно передать в конструктор параметр? Те

TMyOwnComponent = class(TComponent)
 public
   constructor Create(AOwner: TComponent;
     CompulsoryFactor: Integer); override;
 end;


Естественно:
[Pascal Error] Unit1.pas(19): E2037 Declaration of "Create" differs from previous declaration

Тогда делаю так:

TMyOwnComponent = class(TComponent)
 public
   constructor Create(AOwner: TComponent;
     CompulsoryFactor: Integer);
 end;


В этом случае имею противный Ворнинг, который мне ненравится

[Pascal Warning] Unit1.pas(19): W1010 Method "Create" hides virtual method of base type "TComponent"

Так а как правильно?


 
Stakan ©   (2006-10-05 12:22) [1]

reintroduce;


 
Kolan ©   (2006-10-05 12:25) [2]


> Stakan ©   (05.10.06 12:22) [1]

Те это подход правильный, только нужно подавить Warning?


 
clickmaker ©   (2006-10-05 12:25) [3]

constructor Create(AOwner: TComponent;
      CompulsoryFactor: Integer); reintroduce;


 
Kolan ©   (2006-10-05 12:26) [4]


> clickmaker ©   (05.10.06 12:25) [3]

Понятно :)



Страницы: 1 вся ветка

Текущий архив: 2006.10.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.066 c
9-1137705694
ZilonAtakuit
2006-01-20 00:21
2006.10.22
Прозрачность, текстура


2-1159863991
alucard
2006-10-03 12:26
2006.10.22
Подскажите можно ли на SQL таблицу


2-1159950119
pavel_guzhanov
2006-10-04 12:21
2006.10.22
Можно ли из программы, написанной на Delphi, и работающей под


2-1159945999
Roma L
2006-10-04 11:13
2006.10.22
TreeView


2-1160033628
dera
2006-10-05 11:33
2006.10.22
Как определить, какой компонент открыл доч. форму?