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

Вниз

OnBefore/AfterChangeComponentCount(Sender: TObject);   Найти похожие ветки 

 
Silver_ ©   (2004-02-19 16:00) [0]

OnBefore/AfterChangeComponentCount(Sender: TObject);
или OnBefore/AfterObjCreate/Destroy(Sender: TObject);
как отловить момент когда меняется значение ComponentCount
т.е. Знать что, где, когда добавляется/удаляется (в смысле контролов)
вобше-то на данном этапе меня интересует конкретно формы
какие и когда создаются что-то Типа OnBefore/AfterCreate; OnBefore/AfterDestroy
Типа как есть у TApplicationEvents.OnActivate а мне нужно OnCreate/Destroy


 
Владислав ©   (2004-02-19 16:04) [1]

Переопределяй метод Notification


 
Silver_ ©   (2004-02-19 19:19) [2]


> Переопределяй метод Notification

У кого, мне надо по всему приложеню ловить (из одного места) ну чтоб всем формам в OnCreate не писать чего нибудь да и потом у них самих в OnCreate может чего есть мне надо до/после этого чего-то сделать а потом/до пусть себе личный OnCreate срабатывает. Типа так.


 
Владислав ©   (2004-02-19 19:21) [3]

> Silver_ © (19.02.04 19:19) [2]

Ну дык пересмотрите подход к решению изначальной проблемы. На 99 % уверен, что "как отловить момент когда меняется значение ComponentCount" лишь следствие.


 
Юрий Зотов ©   (2004-02-19 19:34) [4]

> Silver_ © (19.02.04 19:19) [2]

Сделайте свой класс TBaseForm (строку {$R *.dfm} из модуля можно и нужно убрать). В нем переопределите Notification и DoCreate. А все формы проекта порождайте от этого класса TBaseForm - тогда переопределенные в нем Notification и DoCreate и будут теми самыми централизованными местами отлова, которые Вам нужны. Вот и все.


 
Silver_ ©   (2004-02-20 17:05) [5]

правельно понял ???
unit MySuperForm;

interface

type
TBaseForm = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
constructor Create; override;
end;

implementation

constructor TBaseForm.Create;
begin
//... Tipa OnBeforeCreate ...
inherited;
//... Tipa OnAfterCreate ...
end;

end.


А в проге
interface

uses MySuperForm;

type
TAnyForm = class( TBaseForm)
private
{ Private declarations }
public
{ Public declarations }
end;

var
AnyForm: TAnyform;

implementation

{$R *.dfm}
...


 
Юрий Зотов ©   (2004-02-20 19:30) [6]

type
TBaseForm = class(TForm)
...
protected
procedure Notification(...); override;
procedure DoCreate; override;
...
end;

Notification - относится вот к чему:
"как отловить момент когда меняется значение ComponentCount"

DoCreate - относится вот к чему:
"ну чтоб всем формам в OnCreate не писать чего нибудь да и потом у них самих в OnCreate может чего есть мне надо до/после этого чего-то сделать а потом/до пусть себе личный OnCreate срабатывает"


 
Silver_ ©   (2004-02-20 20:50) [7]


> когда меняется значение ComponentCount

ну вобшет это мне для одного и надо было
отловить момент создания/Удаления всех форм ну так когда ComponentCount меняется вот тогда и создается/убивается форма (по мёему)

Как я показал так перекрывал Create у TFrame и подумал что у формы так-же проыдет а про DoCreate и вовсе не знал.
Кстати откуда вобще узнать что перекривать DoCreate/Create. Вот ты например откуда узнал чтоб сделать что-нить перед/сразу после создания (нормальный OnCreate) надо перекрыть именно DoCreate а не constructor Create. Это чтоб знать куда рыть а не вопросы таке плодить)


 
KSergey ©   (2004-02-21 10:33) [8]

По-моему, для задачи "сделать что-то при создании формы" перекрытие конструктора или AfterConstruction (он просто без параметра) - в общем-то фиолетово. Равно как и DoCreate (хотя, наверняка можно найти некие хитрые "штучки", конечно, где это будет критично).
Однако именно если ставить вопрос "сделать чтото как в OnCreate" - то видимо эквивалентным будет конечно DoCreate.
Откуда? С.м. исходники VCL, в частности где происходит вызов обработчика, вписанного в OnCreate - и сразу станет понятно ;)



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

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

Наверх




Память: 0.49 MB
Время: 0.015 c
4-6281
ЗапМакс
2003-12-25 18:06
2004.03.03
Информация о наборе символов в шрифте


1-6055
Qwer
2004-02-21 17:46
2004.03.03
Открытие файлов


1-6043
Soi
2004-02-19 07:22
2004.03.03
Сохранение данных в файл


1-6026
evg_nib
2004-02-18 14:58
2004.03.03
Формы и приложение


1-6108
VID
2004-02-13 02:23
2004.03.03
TEmbeddedWB всё время спрашивает пароль...