2016-04-06 6 views
0

Ich versuche, eine Anwendung mit Login-Formular auf diesem Beispiel basieren zu erstellen: http://delphi.about.com/od/windowsshellapi/a/password_login.htmFiremonkey TEdit nicht vor blinkt Application.run ausführen

Das Beispiel funktioniert über fein auf VCL

In Firemonkey, wenn ich Zeige das Anmeldeformular vor dem Aufruf Application.Run den Cursor von TEdit nicht blinken. Wenn ich das Login-Formular zeige und auch Application.Run anrufe, blinkt es normal.

Kann ich etwas tun, damit der Cursor vor dem Anruf blinkt Application.Run?

Antwort

1

Ich sah dies in der Vergangenheit und wie Roy sagt, spielt Application.Run eine wichtige Rolle bei der korrekten Verarbeitung von Nachrichten.

Also müssen Sie Ihre App neu gestalten.

Erstellen Sie das Anmeldeformular, das von Application.CreateForm erstellt wird, und wenn Sie entscheiden, dass Sie bereit sind, das mainform zu öffnen, weisen Sie es nur dem Application.MainForm zu.

prüfen dies: http://www.uweraabe.de/Blog/2016/01/22/a-splash-form-in-firemonkey/

+0

Ja in FMX können Sie 'Application.MainForm' jederzeit ändern, während dies in VCL nicht möglich ist. – SilverWarior

0

Ich glaube, es gibt einige verbleibende Initialisierung in der Application.Run-Methode für FMX getan. Sie können dies lösen, indem Sie Ihr Login-Formular verwenden und es anstelle Ihrer selbst erstellten Formulare Ihr Hauptformular erstellen lassen. Fügen Sie beispielsweise Ihr Anmeldeformular als automatisch erstelltes Formular hinzu. Dann könnten Sie in Ihrem Login-Formular, wenn sie Ihren Login-Test bestehen, etwas wie das Folgende tun.

+0

Ich denke, Sie sollten es vermeiden, bildet mit dem Create außerhalb des Hauptteils der Anwendung erstellen. –

+0

Und wenn InfoButtonClick beendet? – MartynA