Zitat von
Bbommel:
Noch eine Ergänzung (irgendwie reizt mich das jetzt)
Der Ansatz funktioniert für mich leider nur sehr schlecht, aber dein voriger war eigentlich genial & simpel.
Nun also:
Delphi-Quellcode:
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
if ParamCount>0 then
begin
Application.MainFormOnTaskbar := False;
Application.showMainForm:=false;
end;
Application.Run;
end.
und
procedure TForm1.FormCreate(Sender: TObject);
begin
if ParamCount>0 then
Timer1.Enabled:=True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled:=False;
with TForm2.Create(self) do
begin
ShowModal;
Free;
end;
Close;
end;
Und weil ich nicht so ein Freund von Timern bin, hab ich dann einfach folgendes gemacht:
Delphi-Quellcode:
if ParamCount>0 then
// Timer1.Enabled:=True;
PostMessage(self.handle, WM_AfterShow, 0,0);
procedure WMAfterShow (var Message: TWMChar); message WM_AfterShow;
procedure TForm1.WMAfterShow (var Message: TWMChar);
begin
butShowModuleClick(nil);
Close;
end;
Und da hat mich Delphi wieder überrascht.
Setze ich nämlich
Application.MainFormOnTaskbar := False;
funktioniert die Lösung mit der Message nicht mehr.
Also doch Timer.
Danke für deinen Beistand!