Form bei Programmstart aufrufen
-
Hallo,
in
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)lade ich INI Dateien usw. Ganz am Schluss möchte ich ein weiteres Form
(Form4) zum Hauptform (Form1 Main) als Passwortabfrage aufrufen:if(PrgComp==false && PrgPassw==true) { Form4->Show(); } // bei Programmstart PasswortabfrageDas klappt auch. Aber nach dem Beenden des Dialoges kommt die Fehlermeldung
"Eigenschaft Visible in OnShow und OnHide nicht zulässig"Ich habe in diesen Routine OnShow (OnHide habe ich nicht) aber
nichts mit Visible usw. Starte ich das Programm ohne die Passwort-
abfrage sondern z.b. über's Menü direkt mitForm4->Show();dann kommt nach dem Beenden des Dialoges keine Fehlermeldung.
Habe den Aufruf auch schon in OnShow und OnActivate vom Form1 (Main)
gelegt, ebenfalls kein Erfolg. Wenn ich es in OnShow lege, wird
der Dialog angezeigt, der Focus liegt aber noch auf dem Form1 im
Hintergrund.Hat jemand eine Idee bzw. wie kann ich beim Start ein weiteres
Form aufrufen?Gruss Stefan
-
OnShow Ereigniss
mit Form4->ShowModal();
In dem OnShow können keine Eigenschaften gesetzt werden die das Anzeigen (visible) beeinflussen.
-
Hi ,
der normale Weg dürfte sein, Form4 zum Hauptformular zu machen und eine Instanz des Paßwortabfrageformulars im Konstruktur des Hauptformulars zu erzeugen, aufzurufen und anschließend wieder freizugeben.
Falls das Paßwort falsch ist, kann mit Application->Terminate die Anwendung beendet werden. (Dies funktioniert nur im Kostruktor, nicht in OnShow()... OnActivate ist die falsche Stelle für so etwas.)
-
Danke für die schnelle Antwort; klappt einwandfrei.

Gruss Stefan