Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ShowMainForm geht nicht (https://www.delphipraxis.net/94071-showmainform-geht-nicht.html)

H. Hennig 15. Jun 2007 15:22


ShowMainForm geht nicht
 
Hallo,

ich habe ein Projekt (delphi7) mit mehreren Forms. In OnCreate des Hauptformulars frage ich die Befehlszeilenparameter ab mit denen das Programm gestartet wurde. Je nach Parameter soll das Programm für den Benutzer unsichtbar bleiben. Das realisiere ich per application.ShowMainForm:=false;.
Das funktioniert aber nur, wenn ich application.ShowMainForm:=false; direkt in der Projektdatei eintrage (hinter die Application.CreateForm(TForm... Aufrufe). Führe ich application.ShowMainForm:=false; direkt im Hauptformular in OnCreate oder OnShow aus funktioniert es nicht.

Ist dieses Verhalten richtig?
Wenn nein, wie kann ich realisieren, dass die Anwendung, je nach Startbedingung, unsichtbar bleibt?

Vielen Dank.

H. Hennig

Cyberbob 15. Jun 2007 15:26

Re: ShowMainForm geht nicht
 
hast du mal versucht, deine abfragen in der projektdatei einzufügen, speziell die showmainform abfrage? ansonsten könntest du application.showmainform := false setzten aber in der abfrage form1.show einfügen

ManuMF 15. Jun 2007 15:33

Re: ShowMainForm geht nicht
 
beim Setzen in onShow funktioniert es nicht, da wird das Form ja schon angezeigt. Bei onCreate müsste es aber laufen, zumindest tut es das bei mir. Ansonsten kann ich auch empfehlen, die Abfrage einfach in die Projektdatei zu verschieben.

H. Hennig 15. Jun 2007 16:39

Re: ShowMainForm geht nicht
 
Hallo,

die Abfragen für die Startparameter habe ich in einer eigenen unit. Die möchte ich auch nicht in die Projektdatei verschieben. Da lasse ich lieber ShowMainForm dort stehen. Ansonsten habe ich den aufruf von ShowMainForm schon an allen möglichen Stellen probiert und nichts hat funktioniert.
Mein Problem ist, dass ich nicht weiss, ob in einem Projekt mit mehreren Forms, die ja alle in der Projektdatei creiert werden, so ein Verhalten normal oder sogar richtig ist, oder ob hier ein Programmierfehler vorliegt. In anderen Projekten mit nur enem Form funktioniert ShowMainForm nämlich einwandfrei.

MfG

H. Hennig

SirThornberry 15. Jun 2007 16:55

Re: ShowMainForm geht nicht
 
wird eventuell vorher ein andres form creiert? (splashscreen etc.) Verarbeitest du schon messages? im normalfall funktioniert es auch im OnCreate des MainForms, sollte aber eher aufgerufen werden und nicht erst wenn das mainform sich creiert und selbst zeigen will.

H. Hennig 15. Jun 2007 19:59

Re: ShowMainForm geht nicht
 
Hallo,

ja, es werden vorher andere Forms creiert, nämlich alle, die zum Projekt gehören. Wie gesagt, ich habe ShowMainForm momentan in der Projektdatei nach den diversen Create-Anweisungen stehen.
Kann man ShowMainForm vor dem Create anwenden? Ich rufe im per OnCreate alle möglichen Informationen ab, die das Form so braucht (Listboxen, Daten vom Betriebssystem und dem PC etc.). Welche Möglichkeit, ausser direkt in der Projektdatei habe ich, Code vor dem ersten Form.Create auszuführen?

MfG

H. Hennig

SirThornberry 17. Jun 2007 21:26

Re: ShowMainForm geht nicht
 
du könntest ShowMainForm generell in der Projektdatei auf False setzen und später an einer beliebigen anderen stelle setzt du es gegebenfalls wieder auf true und zeigst das form an.

H. Hennig 17. Jun 2007 21:37

Re: ShowMainForm geht nicht
 
Hallo,

o.k. ich kann also davon ausgehen, dass sich ShowMainForm richtig verhält und kein Fehler vorliegt. Ich werde mal noch ein paar Sachen, die hier gesagt wurden ausprobieren und mich dann für die im gegeben Fall günstigste entscheiden.
Vielen Dank für die Tipps.

H. Hennig


Alle Zeitangaben in WEZ +1. Es ist jetzt 12: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 by Thomas Breitkreuz