Hallo
vielen Dank für den Tip mit application.ProcessMessages
Das Fenster bzw der Button lassen sich nun auch klicken

,
das Grundproblem das die While Schleife erst Ihre Arbeit beendet
bevor die Auswertung des Buttons abgearbeite wird, ist noch vorhanden.
( naja laut dem was ich hier zusammengeschrieben habe ja auch irgendwo logisch )
ich würde gerne oberhalb des application.ProcessMessages; noch soetwas einfügen wie
----
wurde Button1 geklickt dann mache xyz
----
wenn ich :
if Sender = Button1 then
xyz
schreibe bekomme ich die Fehlermeldung
identifier not found Sender
ich google mich blöd wie man das nun per Syntax schreibt
ggf hat ja noch jemand einen Tip
hier mal dir procedure um die es geht
Code: Alles auswählen
procedure TForm1.anzeigerunden();
var
a : integer;
begin
aktuelle_runde:=aktuelle_runde+1;
while (runden < aktuelle_runde) do
begin
TImage(FindComponent('image'+IntToStr(zahlenpool[runden]))).Visible:=true;
form1.Repaint;
form1.Refresh;
for a := 1 to 300 do
begin
sleep(10);
application.ProcessMessages;
end;
{ TODO : das sleep durch was anderes ersetzen
was es möglich macht das der ENDE Button geklickt werden kann }
ausblendenrunde();
end;