![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FormCreate в классе-предке [D6, Win2k]
ИгорьК © (2003-01-29 17:41:00)Приветствую!
Имеем unit в котором объявляю свой класс:
type
TfAbstChild = class(TForm)
procedure FormCreate(Sender: TObject);
end;
все формы приложения наследуются от этого класса
type
TfrmFinAnaliz = class(TfAbstChild)
end;
как сделать, чтобы при создании
frmFinAnaliz:=TfrmFinAnaliz.Create(Self);
выполнялясь процедура FormCreate из класса TfAbstChild?
REA (2003-01-30 11:02:00) [1]А просто OnCreate вместо DoCreate нельзя перегрузить? В формах наследниках при генерации события будет добавляться inherited. Вроде можно.
ИгорьК (2003-01-30 10:42:00) [2]>han_malign
Спасибо, а не проясните, почему inherited после выполняется? А для OnDestroy кокой порядок будет?
Игорь Шевченко (2003-01-29 18:26:00) [3]han_malign © (29.01.03 18:18)
А...понял.
Извиняюсь, слово procedure перед FormCreate не заметил, глаза уже замылились.
han_malign (2003-01-29 18:18:00) [4]>Игорь Шевченко © (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:00:00) [5]При таком описании она и будет выполняться. Если у потомков в FormCreate что-то написано, то добавить в начало строчку inherited