also, als erstes, setze deinen Quellcode bitte in Delphi-tags, damit man das auch lesen kann.
(edit: Gausi war mal so nett und hat das gerade für dich nachgeholt)
Dein Problem: Du prüfst im onChange, also bei jeder Änderung des Feldes.
Dadurch wird der Fehler natürlich auch bei jeder Änderung geworfen.
Machs einfach im onExit, dort fragst du zuerst ab, ob das feld leer ist, wenn nicht, fragst du ab, ob die eingabe gültig ist, wenn's leer ist, machste einfach gar nichts
_________________
Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!