Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Probleme mit Focusverlust Delphi 2010 (https://www.delphipraxis.net/168431-probleme-mit-focusverlust-delphi-2010-a.html)

Kobayashi 21. Mai 2012 14:19


Probleme mit Focusverlust Delphi 2010
 
Hi, ich habe Probleme das meine Anwendung ab und zu den Focus verliert bzw. gar nicht erst bekommt.

Folgendes Szenario :

Windows 7 startet bei Systemstart per Autostart ein Delphiprogramm, nennen wir es mal "GsMenu".

Das GsMenu Programm startet je nach Auswahl eines von 14 Programmen die als fertige *.exe vorliegen.
Zusätzlich wird ein Hintergrundprogramm gestartet was Bildschirmausgaben auf einem Sekundären Bildschirm ausführt. Danach Terminiert das GsMenu Programm sich selber.

Wenn das gewählte der 14 Programme ausgeführt und beendet wurde ruft dies wieder das Menu-Programm auf.

Zu bestimmt 99% funktioniert dieses Szenario problemlos.




Manchmal (selten) tritt aber auf, das entweder das Menu-Programm oder auch die gestartete der 14 Anwendungen nicht den Eingabefocus hat.

Woran kann das liegen ?

Ich habe mir schon versucht mit einem Timer-Event der auf "onTimer" liegt alle 500ms den Focus anzueignen, auch dies funktioniert fast immer, aber eben nicht zu 100%.

Versucht habe ich bis jetzt folgende Befehle innerhalb des onTimer Events :

Application.bringtofront;
self.bringtofront ;
self.SetFocus;
GsMenu.SetFocus;
(* GsMenu ist der Name des Tform *)


Zur Sicherheit danach testweise auch noch noch ein Application.processmessages;

Ferner habe ich auch versucht die Windows Message SW_Restore an das Fenster bzw. dessen Handles meines Menu Programmmes zu schicken.

Alles funktioniert halt prima zu 99%, nur das 1% in dem der Fehler auftritt ist übel, da das Gerät was damit gesteurt wird keine Maus haben wird um sich den Focus aktiv zu "erclicken".

Auf der Entwicklungsumgebung kann man sich durch "ALT-TAB" oder Mausclick behelfen den Focus zurückzugewinnen, dies ist aber im Endgerät nicht möglich.

Hat jemand eine Idee, alles was ich per Board-Suche gefunden und versucht habe hatte auch nur den 99% Erfolg.

Danke im Voraus

P.S. Noch eine Ergänzung. Alle Programme werden mit Adminstrator Rechten ausgeführt. Ein Tip diesbezüglich hat leider auch keine Besserung gebracht.

himitsu 21. Mai 2012 14:59

AW: Probleme mit Focusverlust Delphi 10
 
Was ist Delphi 10?


Ich hab's jetzt nicht im Kopf, aber innerhalb Dieses oder des letzen Monats war hier schonmal jemand mit soeinem Problem, wo das Programm/eine Komponente nicht den Eingabefokus bekam, obwohl es das sollte ... such am Besten mal danach. (hoffe es gab eine Lösung)

Kobayashi 21. Mai 2012 16:08

AW: Probleme mit Focusverlust Delphi 10
 
Sollte natürlich Delphi 2010 heißen. :oops:

Ich vermute du meintest den Beitrag mit der virtuellen Tastatur ?

Da wird zu CWinApi.SetForegroundWindow(hWndTarget); geraten.

Werde mal ausprobieren ob das was bringt.

Das Testen ist immer blöd weil der Fehler halt so selten auftritt.

Weitere Ideen sind natürlich gerne willkommen.

Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz