Moin!
Du musst meines Wissens zwischen Taste hoch und Taste runter ein wenig Zeit vergehen lassen(per wait).
Soll deine Schleife so lange durchlaufen werden, bis Button2 gedrückt ist? Das funktioniert so nicht,
enabled bestimmt, ob er vom User gedrückt werden
kann.
Ein Button ist so gedacht, dass er beim Drücken ein einziges Mal eine Prozedur 'Button2Click' ausführt, nicht so dass du ständig abfragen kannst, ob er gedrückt wurde.
Da wirst du in der Schleife ein Application.ProcessMessages; unterbringen müssen, damit die Grafische Oberfläche überhaupt reagiert. Und dann kannst du eventuell beim Button-Click eine Variable auf true setzen, die den Schleifenablauf dann unterbricht(
while MyVar do statt repeat until Button2 gedrückt).
lg,