Wieso liegen diese Variablen eigentlich global rum?
Wozu gibt es diese Variablen, obwohl du sie garnicht benutzt? (siehe mein Vorredner)
Denn so wie du sie nutzt, hätten sie lokal sein müssen, fals man sie überhaupt benötugt hätte.
Und das Thema Codeformatierung solltst du dir ganz dringen anschauen.
Eventuell wäre dir dann der Fehler eher aufgefallen.
Nja, eigentlich hatte dir Delphi ja die Fehlerstelle genannt und du hättest dir nur nochmal den Code genau angucken müssen.