Guten Abend zusammen,
hoffe das ich das Thema auch richtig eingeordnet habe...
Habe mir schon seit einiger zeit den Kopf zerbrochen und mal hier und mal da gesucht aber das richtige habe ich nicht gefunden darum bitte ich mal um Eure Hilfe. ich gebe hier einfach mal eine vereinfacte form ZUR DEMONSTRATION des Problemes wieder :
Ich habe eine MainForm mit zwei Button. Der erste Button "GehZuForm2" und der zweite Button "GehZuForm3".
Die MainForm:
Delphi-Quellcode:
procedure TMainForm.GehZuForm2Click(Sender: TObject);
begin
MainForm.Visible := false;
Form2.ShowModal;
MainForm.Visible := True;
end;
So weit, so gut
Auf der Form2 hab ich verschiedene Button für verschiedene Operationen. Zum Beispiel der :
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin
TrayIcon1.Visible := True;
Form2.Visible := False;
//hier verschiedene Operationen
//ende der Operation
TrayIcon1.Visible := False;
Form2.Visible := True;
end;
Nun möchte ich ein ParamStr einbauen der mir ermöglicht vom Programmstart gleich zu TForm2.Button1Click(Sender: TObject) zu gehen ohne die MainForm oder die Form2 anzuzeigen.
Ich habe versucht das in die OnCreate procedure einzubauen :
Delphi-Quellcode:
procedure TMainForm.FormCreate(Sender: TObject);
begin
if (ParamCount = 1)
AND (lowercase(ParamStr(1)) = '-startop1') then GehZuForm2Click(Self);
if (ParamCount = 1)
AND (lowercase(ParamStr(1)) = '-startop2') then GehZuForm3Click(Self);
end;
und in den OnShow proceduren dann folgendes :
Delphi-Quellcode:
procedure TForm2.FormShow(Sender: TObject);
begin
if (ParamCount = 1)
AND (lowercase(ParamStr(1)) = '-startop1') then Button1Click(Self);
end;
Das klappt natürlich nicht da die Form2 noch gar nicht existiert wenn die procedure ausgeführt wird.
Dann hab ich das Probiert :
Delphi-Quellcode:
procedure TMainForm.FormShow(Sender: TObject);
begin
if (ParamCount = 1)
AND (lowercase(ParamStr(1)) = '-start') then
Begin
if (ParamCount = 1) then
Begin
MainForm.Visible := False;
If lowercase(ParamStr(1)) = '-startop1' then GehZuForm2Click(Self);
If lowercase(ParamStr(1)) = '-startop2' then GehZuForm3Click(Self);
End;
End;
end;
Aber das klappt auch nicht, da ich visible nicht in OnShow oder OnHide procedure ändern kann.
Habt Ihr vorschlâge wie ich das am besten anstellen kann ?