Zitat von
Bernhard Geyer:
Im onShow nochmal eine (eigenes definiert) Windows-Message schicken oder einen Timer starten.
Das mit dem timer wollte ich eigentlich vermeiden...das mit der Nachricht im OnShow klappt auch nicht (Task-button vorhanden, aber form noch nicht sichtbar):
Delphi-Quellcode:
const
WM_LoadFile=WM_USER+10;
type
TForm_DFMMain = class(TForm)
...
private
{ Private-Deklarationen }
FileToLoad:string;
Procedure WMLoadFile(Var Msg: TMessage); message WM_LoadFile;
...
end;
procedure TForm_DFMMain.FormCreate(Sender: TObject);
begin
if (paramCount>0) then
begin
if fileExists(ParamStr(paramCount)) then
FileToLoad:=ParamStr(paramCount);
end;
end;
Procedure TForm_DFMMain.WMLoadFile(Var Msg: TMessage);
begin
LoadDFMFile(FileToLoad);
FileToLoad:='';
end;
procedure TForm_DFMMain.FormShow(Sender: TObject);
begin
if FileToLoad<>'' then
begin
SendMessage(self.handle,WM_LoadFile,0,0);
end;
end;
bei Luckies Vorschlag wird das form zwar angezeigt, ist aber noch nicht fertig dargestellt (komponenten sind noch nicht gezeichnet).
Gruß Frank