Hi Wolfgang,
Nein, FLogin wird vom Hauptformular mit dem oben angegebenen
Code aufgerufen.
aha, damit wäre die Ausgangslage etwas anders, als ich vermutet habe (trotzdem kein Grund zur Panik ).
Schlecht, da ich sehr viele Formulare habe, die ich gerne nur
dynamisch erzeugen würde.
OK, das ist auch die richtige Handhabungsweise.
Ich werde aber mal das mit
visible=flase versuchen, hätte ich ja auch selbst drauf komen
können ));
Nein, tu’s besser nicht, denn das wäre nur „geknaubt“. Die richtige Lösung ist folgende: Erzeuge das FLogin-Formular nicht mit Application.CreateForm(…). Die Methode Application.CreateForm ist nur für die Erzeugung der Formulare beim Start der Anwendung gedacht und deshalb hat sie außerhalb des Projektquelltextes (= das, was beim Aufruf des Menüpunkts „Project/View Source“ erscheint) eigentlich nichts verloren. Es gibt z. B. auch kein „Gegenstück“ „Application.DestroyForm“ oder ähnliches.
Nimm als Lebenslauf Deines „FLogin“-Formulars diesen:
IF NOT Assigned(FormLogin) THEN
begin
FormLogin := TFormLogin.Create(Application);
FormLogin.ShowModal;
FormLogin.Destroy;
FormLogin := NIL
end
Nach dem Aufruf von „FormLogin := TFormLogin.Create(Application)“ ist das Formular auf jeden Fall unsichtbar, so daß der anschließende ShowModal-Aufruf mit Sicherheit problemlos funktioniert.
Mit freundlichem Gruß
Martin