![]() |
AW: Focus richtig setzten?
Wenn dein Programm direkt nach dem Start den Fokus verliert, kann hier im Forum keiner beurteilen, wodurch das ausgelöst wird. Das kannst nur du, denn nur du bist im Besitz dieses Android-Dingens, auf dem womöglich gleich nach dem Start deiner Anwendung ein weiteres Programm gestartet wird, das den Fokus an sich reißt. Ich weiß ja nicht einmal, ob sich das Phänomen nur beim Entwickeln auf deinem PC-Desktop ereignet oder ebenfalls auf deinem Android-Handy.
|
AW: Focus richtig setzten?
ja das müsste ich jetzt irgendwie herausbekommen...
es verliert den Fokus nur bei der auf das Handy compilierten Version. Auf dem Desktop funktioniert es einwandfrei... |
AW: Focus richtig setzten?
Zitat:
Ich hab von Android absolut keine Ahnung, aber ich hab ein wenig gegoogelt und Folgendes gefunden: ![]()
Code:
Einstellungen für Tastatur, TEdit und TMemo
Tastatur Legen Sie die Eigenschaft vkAutoShowMode auf vkasDefinedBySystem, vkasNever oder vkasAlways fest. TEdit und TMemo Legen Sie KillFocusByReturn fest (beim Drücken der Eingabetaste verliert das Steuerelement den Fokus) ![]() Eine andere Möglichkeit bestünde darin, ein quasi leeres Projekt auf das Handy zu kompilieren und zu schauen, ob das dann immer noch auftritt. Wenn nicht, könntest du durch Kopieren nach und nach das leere Projekt mit den Komponenten und dem Code aus deiner derzeitigen Anwendung füllen und so herausfinden, ab wann oder mit welchem Code bzw. mit welchen Komponenten das Phänomen auftritt. Du könntest auch mal "mit wachem Blick" über deinen Code "huschen" und dir dabei überlegen, ob da irgendwo eine andere Anwendung wie z.B. ein virtuelles Keyboard oder was weiß ich aufgerufen wird. Das klingt zwar alles umständlich und langwierig, ist aber vielleicht die einzige Methode zum Auffinden der Fehlerquelle. |
AW: Focus richtig setzten?
Falls es das im FMX auch gibt: (in der VCL funktioniert das ganz gut)
Screen.OnActiveFormChange und Screen.OnActiveControlChange ein eigenes Event zuweisen und darin den Namen von Screen.ActiveCustomForm, bzw. Screen.ActiveControl, auslesen und irgendwo loggen. Schon sieht man wie und wo der Fokus rumwandert. Falls das nicht hilft, dann dort je einen Haltepunkt rein, genauso so den Aufruf des Fenster, und dann gemütlich debuggen. Bei mir gehen Logmeldungen direkt auch nochmal als DebugMessage an den Debugger raus, so daß man diese live im Debugger verfolgen kann. Und schon sieht man was da nun eigentlich passiert. |
AW: Focus richtig setzten?
ah super, danke euch beiden. Ich werde das alles erstmal ausprobieren und melde mich dann wieder.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:19 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