![]() |
Delphi-Version: 5
Von Programmstart gleiche eine Procedure auf Form2 ausführen ???
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:
So weit, so gut
procedure TMainForm.GehZuForm2Click(Sender: TObject);
begin MainForm.Visible := false; Form2.ShowModal; MainForm.Visible := True; end; Auf der Form2 hab ich verschiedene Button für verschiedene Operationen. Zum Beispiel der :
Delphi-Quellcode:
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.
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; Ich habe versucht das in die OnCreate procedure einzubauen :
Delphi-Quellcode:
und in den OnShow proceduren dann folgendes :
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;
Delphi-Quellcode:
Das klappt natürlich nicht da die Form2 noch gar nicht existiert wenn die procedure ausgeführt wird.
procedure TForm2.FormShow(Sender: TObject);
begin if (ParamCount = 1) AND (lowercase(ParamStr(1)) = '-startop1') then Button1Click(Self); end; Dann hab ich das Probiert :
Delphi-Quellcode:
Aber das klappt auch nicht, da ich visible nicht in OnShow oder OnHide procedure ändern kann.
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; Habt Ihr vorschlâge wie ich das am besten anstellen kann ? |
AW: Von Programmstart gleiche eine Procedure auf Form2 ausführen ???
Erstelle in Form2 eine Public-Methode und führe sie in der Programm-Unit (.dpr) aus, nachdem das Formular erstellt wurde.
|
AW: Von Programmstart gleiche eine Procedure auf Form2 ausführen ???
Und im Projektquelltext kannst du auch verhindern, dass das Hauptformular angezeigt wird:
Delphi-Quellcode:
Das brauchst du, wenn du das Hauptformular später doch brauchst und es nur zuerst unsichtbar sein soll. Wenn du nur das zweite Formular brauchst, kannst du natürlich auch nur das überhaupt erstellen.
Application.ShowMainForm := False;
Application.CreateForm... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz