Und jedes Mal, wenn ich die Enter-Taste drücke, springt dieser Code an.

Außerdem wird der Text dann irgendwo in der Oberfläche eingefügt, da erst am Ende erkannt wird, dass es "vermutlich" ein Barcode war.
Habe ich vorher in einem Edit was eingegeben oder aus einem anderen Grund eine Taste gedrückt, wann steht das ebenfalls in dem Edit drin.
Also in "allen" Edits/Memos und Co. müsste man den Barcode dann wieder entfernen, wenn er da eigentlich nicht rein sollte, und handelte es sich um ein
DB-Control, dann wurde das DataSet auch noch in den EditModus versetzt.
War in dem aktiven Control etwas markiert, dann ist nun die Markierung futsch und das Markierte überschrieben/gelöscht.
War das Control/DataSet schreibgeschützt, hat es womöglich auch schön geknallt.
War eines der Zeichen ein Controlzeichen oder ein Hotkey, wurde eventuell auch gleich irgendwas ausgeführt und/oder der Fokus umgesetzt.
Auch Grids/ComboBoxen/... mit AutoSearch sind danach verstellt, wenn sie grade den Fokus hatten.
Und wer weiß was noch alles passiert.
Sowas kann man nur machen, wenn es "vorher" ein Startzeichen gibt, dann fängt man alle Eingaben ab, bzw. leitet sie um, bis zum Endezeichen.
Oder man muß unbedingt sicherstellen, dass bei Scanbeginn der Fokus sich in den richtigen Controls befindet, bzw. sorgt beim Startzeichen dafür.
Ein Therapeut entspricht 1024 Gigapeut.