Вниз
Скачать: CL | DM;

FormCreate в классе-предке   Найти похожие ветки 

← →
ИгорьК   (2003-01-29 17:41) [0]

Приветствую!
Имеем unit в котором объявляю свой класс:
type
TfAbstChild = class(TForm)
procedure FormCreate(Sender: TObject);
end;

все формы приложения наследуются от этого класса
type
TfrmFinAnaliz = class(TfAbstChild)
end;

как сделать, чтобы при создании
frmFinAnaliz:=TfrmFinAnaliz.Create(Self);
выполнялясь процедура FormCreate из класса TfAbstChild?


← →
Игорь Шевченко ©   (2003-01-29 18:00) [1]

При таком описании она и будет выполняться. Если у потомков в FormCreate что-то написано, то добавить в начало строчку inherited


← →
han_malign ©   (2003-01-29 18:18) [2]

>Игорь Шевченко © (29.01.03 18:00)
- обознатушки - в onCreate этот FormCreate никто не клал(обычно это делет TReader на этапе создания)
type
TfAbstChild = class(TForm)
protected
procedure FormCreate(Sender: TObject);virtual;
public
procedure DoCreate; override;
end;
...........
procedure TfAbstChild.DoCreate;
begin
FormCreate(Self);//или OnCreate:=FormCreate;
inherited;
end;

З.Ы. FormCreate будет выполняться после конструктора TForm


← →
Игорь Шевченко ©   (2003-01-29 18:26) [3]

han_malign © (29.01.03 18:18)

А...понял.
Извиняюсь, слово procedure перед FormCreate не заметил, глаза уже замылились.




← →
ИгорьК   (2003-01-30 10:42) [4]

>han_malign
Спасибо, а не проясните, почему inherited после выполняется? А для OnDestroy кокой порядок будет?


← →
REA ©   (2003-01-30 11:02) [5]

А просто OnCreate вместо DoCreate нельзя перегрузить? В формах наследниках при генерации события будет добавляться inherited. Вроде можно.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
3-28651
Sterh
2003-01-22 18:16
2003.02.10
Net db


1-28873
pl_quad
2003-01-30 15:26
2003.02.10
Enumerated type


1-28805
d_oleg
2003-01-29 21:10
2003.02.10
TBitBtn и Xp themes


1-28856
Noname2
2003-01-30 11:13
2003.02.10
Метка как объект в run-time


1-28728
Alik1313
2003-01-31 15:12
2003.02.10
Кол-во экземпляров формы




   Наверх