AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Von Programmstart gleiche eine Procedure auf Form2 ausführen ???

Von Programmstart gleiche eine Procedure auf Form2 ausführen ???

Ein Thema von DavidKlimas · begonnen am 6. Jul 2011 · letzter Beitrag vom 7. Jul 2011
Antwort Antwort
DavidKlimas

Registriert seit: 24. Sep 2006
Ort: Arlon, Belgien
71 Beiträge
 
#1

Von Programmstart gleiche eine Procedure auf Form2 ausführen ???

  Alt 6. Jul 2011, 23:11
Delphi-Version: 5
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)) = '-startop1then GehZuForm2Click(Self);
      If lowercase(ParamStr(1)) = '-startop2then 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 ?
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Von Programmstart gleiche eine Procedure auf Form2 ausführen ???

  Alt 6. Jul 2011, 23:23
Erstelle in Form2 eine Public-Methode und führe sie in der Programm-Unit (.dpr) aus, nachdem das Formular erstellt wurde.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
8.139 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Von Programmstart gleiche eine Procedure auf Form2 ausführen ???

  Alt 7. Jul 2011, 04:26
Und im Projektquelltext kannst du auch verhindern, dass das Hauptformular angezeigt wird:
Delphi-Quellcode:
Application.ShowMainForm := False;
Application.CreateForm...
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf