Hallo!
Ich habe ein echtes Problem und komme definitiv nicht mehr weiter. (Delphi 2005,
Win32, Prog läuft auf Windows 98)
Es wäre cool , wenn jemand einen Tipp/eine Anregung hätte.
Es geht um ein
Barcodescan-System in einer Mensa. Der handelsübliche Barcodecanner funktioniert wie eine Tastaur: er gibt das, was er scannt, wie eine Tastatur normal ein (halt etwas schneller..).
Das ganze ist so programmiert, das jeder, der Essen will, seinen Essens- Ausweis vor den Scanner hält, der eigens dafür zur Verfügung gestellte PC kontrolliert dann in der Datenbank, ob derjenige für den Tag bezahlt hat, ob er vegetarisch isst,...usw. Das klappt alles auch schon ganz gut.
NUR:
Mein Programm hat einfach ein Edit-Feld, in dem der Focus sitzt. Scannt der Barcodescanner jetzt einen Ausweis, schreibt er in das Edit-Feld, die Edit.Change-Methode springt an, und am Monitor wird ausgegeben: "Bezahlt" ,etc...
Der Focus ist immer auf das Edit-Feld gesetzt. NORMALERWEISE.
DAS PROBLEM: Es passiert manchmal (unmittelbar bei einem Scannvorgang, wie ich beobachten konnte), das der Curser nicht mehr im Edit-Feld ist, der Focus also verschwindet. Ich habe schon aus Verzweiflung einen Timer eingebaut, der alle 5 sekunden den Focus neu setzt,
DOCH TROTZDEM SPRINGT ER MANCHMAL RAUS!
Ich kann nur spekulieren, das sich vielleicht ein anderes Programm öfnnet, oder so, und deswegen das ganze Scanprogramm von mir den Fokus verliert.
Ich habe gehört ich solle doch ein modales Dialogfeld verwenden. Weiss jemand was das ist, wo ich das nachschauen kann, ob das überhaupt sinnvoll ist?
Ich brauche einfach nur ein Feld, das Tastatureingaben entgegennimmt, und das immeeeeeer den Focus behält und immer im Vordergrund bleibt. (Der Pc ist wird auch nur für das System verwendet.)
Ich hoffe ich konnte das Problem einigermassen verständlich schildern und freue mich über jede Antwort!!
Vielen Dank schon mal im Voraus,
Moritz
Ps: Im Anhang ein Bild des jetztigen Programms..