Was ist denn der Grund für die Wartezeit? Aufwendige Berechnungen?
Ohne zumindest in groben Zügen zu wissen was da abläuft, vor allem um welche Datenmengen es geht, was mit den Daten vor dem Buttonklick passieren muss, usw. kann dir niemand einen gezielten Rat geben.
Aber das ist dir ja sicher auch selbst klar. Und für detailliertere Vorschläge fehlen auch detailliertere Informationen. Wenn du öffentlich nicht mehr Details schreiben möchtest, kannst du mir auch gerne per PN etwas schreiben.
Meine Idee wäre, wenn das bei deinem Projekt machbar ist, das was bei dem Buttonklick passiert in eine
DLL auszulagern. Die könntest du dann zum Debuggen einfach mit LoadLibrary auf Anforderung mit einem Button laden, dich mit dem Debugger verbinden, debuggen und dann die Verbindung wieder trennen und die
DLL wieder entladen. Dann kannst du die wieder ändern und das ganze von vorne machen.
Du darfst nur nie das Programm aus Delphi heraus hart stoppen.