![]() |
Form2 ist nicht aktiv (kein Focus)
Hallo
Mein Wissen stößt wieder an Grenzen...Ich schaffe es einfach nicht die 2. Form in meinem Programm aktiv werden zu lassen. Also ich habe einmal eine Hauptform und eine Passwort-Form. Je nachdem, welche Einstellungen beim Starten des Programms eingelesen werden wird das Passwort Dialogfeld angezeigt oder nicht. Jetzt habe ich aber das Problem, dass das Edit Feld des Passwort-Dialogs nicht aktiv ist, wenn die Form erstellt wird. Also im Prinzip ist das Edit Feld aktiviert nur die Form nicht. An der Taskleiste kann ich das sehen, da ist die Form nämlich nicht angeklickt. Wenn ich dann auf den Eintrag in der Taskleiste klicke, dann ist auch sofort das Edit Feld aktiv und ich kann sofort lostippen. Das ist aber blöd, wenn man immer erst da draufklicken muss. Das soll so sein, dass wenn nach einem Passwort gefragt wird das auch direkt eingegeben werden kann. Weiß einer eine Lösung dafür? |
Re: Form2 ist nicht aktiv (kein Focus)
Hallo,
wie zeigst Du denn die Form mit dem Edit-Feld an? Mit 'TForm.ShowModal' wird das Formular angezeigt und hat den Fokus, bis es geschlossen wird. |
Re: Form2 ist nicht aktiv (kein Focus)
Hmm...gibts da nich ne bessere Lösung? Es funktioniert keine Frage nur irgendwie beendet sich mein Programm selbst. Wahrscheinlich wenn ich es wieder invisible mache das Passwort Fenster
|
Re: Form2 ist nicht aktiv (kein Focus)
Zitat:
Zitat:
|
Re: Form2 ist nicht aktiv (kein Focus)
Zeig doch mal den Aufruf der Passwortform (am Besten gleich die ganze Routine).
|
Re: Form2 ist nicht aktiv (kein Focus)
Also ich erklär nochmal wie das aufgebaut ist:
Erst wird Form1 erstellt dann Form2 (Passwort Dialog) So jetzt wollte ich in der Formcreate von Form2 die Einstellungen laden und dann entscheiden ob das passwortdialogfeld angezeigt wird oder nicht. Bis jetzt habe ich das einfach nur mit form.visible gemacht. allerdings wie gesagt ist die Form2 dann nicht aktiv. und Showmodal kann ich ja in Formcreate noch nicht aufrufen da die Form ja noch nicht existiert. Dann habe ich das Laden der Einstellungen im Hauptcode reingepackt. Also direkt unter:
Delphi-Quellcode:
und dort dann showmodal aufgerufen. Aber irgendwie ist er dann nach dem ausführen der Buttonklick routine in die Formclose von Form2 gesprungen (weiß der Geier warum) und da stand natürlich drin Application.terminate. weil wenn das Dialogfeld geschlossen wird soll das Programm direkt beendet werden. Als ich dann das Application.terminate auskommentiert habe, lief das Programm, aber ich konnte es nicht mehr über form1.close beenden.
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TPasswordDlg, PasswordDlg); Ist das Passwort Dialogfeld nach aufruf von showmodal zu meiner Hauptform geworden? |
Re: Form2 ist nicht aktiv (kein Focus)
Ich steig da ehrlich gesagt nicht ganz durch. Vorschlag: erstelle ggf. den Passwort-Dialog dynamisch im OnCreate des MainForms und rufe ihn per ShowModal auf.
|
Re: Form2 ist nicht aktiv (kein Focus)
Ich hab das mal wie du gesagt hast dynamisch zu erstellen in der formcreate() vom hauptformular.
das sieht dann in etwa so aus:
Delphi-Quellcode:
Dann bekomm ich ne Fehlermeldung durch das showmodal: Aus einem sichtbarem Fenster kann kein modales gemacht werden
if cryptedlist = 'true' then
begin PasswordDlg2:= TPasswordDlg.Create(Application); try passworddlg2.ShowModal; finally passworddlg2.free; end; pwdtype:='gblpwd'; end; Aber das ist doch gar nicht sichtbar. das wurde ja noch nicht mal erstellt vorher |
Re: Form2 ist nicht aktiv (kein Focus)
Mal eine Zeile mehr:
Delphi-Quellcode:
Was passiert jetzt?
if cryptedlist = 'true' then
begin PasswordDlg2:= TPasswordDlg.Create(Application); PasswordDlg2.Visible := false; try passworddlg2.ShowModal; finally passworddlg2.free; end; pwdtype:='gblpwd'; end; |
Re: Form2 ist nicht aktiv (kein Focus)
immer noch das selbe problem
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:17 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