Autor Beitrag
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8535
Erhaltene Danke: 473

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Do 28.11.02 13:40 
Ich schreibe an einem Programm, dass eine rekursive Prozedur verwendet. Ich würde gerne per Tastendruck die Rekursion abbrechen können, wenn die Berechnung zu lange dauert.
Unter TurboPascal ging das ungefähr mit
ausblenden Quelltext
1:
 if keypressed then Rekursionweitermachen:=false;					

wobei die Variable Rekursionweitermachen vor jedem Rekursiven Aufruf überprüft wird.
Mit Delphi krieg ich das irgendwie nich hin.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Do 28.11.02 14:12 
Hi!

Du musst innerhalb deiner Rekursion den Befehl "Application.ProcessMessages" aufrufen, damit die Botschaftsbehandlung währenddessen erfolgt. Da solltest du aber dann darauf achten, daß der Benutzer die Rekursion kein zweites Mal z.B durch einen ButtonClick starten kann, während der Computer noch am arbeiten ist.

Cu, :)
Udontknow
Gausi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8535
Erhaltene Danke: 473

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Do 28.11.02 14:30 
Danke für die schnelle Antwort. Das ist genau das, was ich brauchte.
Jetzt muss ich nur den Button, der die Rekursion startet, zu Beginn derselben "disablen" und beim Abruch-Button Enabled auf True setzen.. Aber das ist ja kein Problem.