Du musst deinem Formular selbst eine benutzerdefinierte Message schicken:
Delphi-Quellcode:
const
UM_INIT = WM_USER + 100;
TForm1 = class(TForm)
protected
procedure UM_INIT(var msg: TMessage); message UM_INIT;
end;
Im Event OnShow schickst du deinem Formular selbst eine Message:
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
// zuerst eigen Dinge erledigen
....
// schicke Message an eigenes Formular
PostMessage(Self.Handle, UM_PSS_INIT, 0, 0);
end;
Sobald das Formular angezeigt wurde, wird die Message empfangen und verarbeitet:
Delphi-Quellcode:
procedure TForm1.UM_INIT(var msg: TMessage);
begin
// hier deinen Programmcode einfügen
// evtl. prüfen, ob die Arbeit schon getan wurde
if init_done then
Exit;
...
end;