Ich nutze für sowas auch gerne ein eigenes Event, welches per PostMessage im OnShow aufgerufen wird:
Delphi-Quellcode:
const
WM_AFTERSHOW = WM_USER + 50;
type
TMainForm =
class(TForm)
[...]
procedure WMAfterShow(
var Msg: TMessage);
message WM_AFTERSHOW;
[...]
end;
procedure TMainForm.FormShow(Sender: TObject);
begin
[...]
PostMessage(
Handle, WM_AFTERSHOW, 0, 0);
end;
procedure TMainForm.WMAfterShow(
var Msg: TMessage);
begin
MachWasImmerGetanWerdenMuss;
end;
Sieht - ohne Frage - sehr elegant aus. Aber was hat das Feuern dieses Events für einen Benefit statt direkt im OnShow-Event die entsprechenden Schritte (statt Postmessage) durchzuführen? Nach meinem Verständnis kommt es genau auf dasselbe raus. Es sei denn es passiert noch „etwas“ anderes.