Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Vorgang abbrechen


Rasipu - Do 15.05.03 17:51
Titel: Vorgang abbrechen
Hallo Leute,

ich habe eine Prozedur, in der eine while-Schleife läuft. Ich möchte dies per ButtonClick beenden, allerdings habe ich beim Debuggen festgestellt, daß der ButtonClick erst nach Ende der while-Schleife abgearbeitet wird.
Zu dem Thema gibt es hier auch ein-zwei Beiträge, nur funktionieren die Lösungvorschläge bei mir nicht.
Ich befürchte, ich muß das mit Threads irgendwie angehen. Ich habe keine Ahnung, wie man damit umgeht, und es scheint keine gute Tutorien dazu zu geben (der 1100 lange Delphi-Guide, den ich habe, hat damit 10 Seiten belegt :-().
Hat jemand Ahnung?

Schöne Grüße,
Ralf


Christian S. - Do 15.05.03 17:56

Hallo und Willkommen!

Bevor Du mit einem Thread anfängst, würde ich versuchen, bei jedem Schleifendurchlauf den Befehl "Application.ProcessMessages" auszuführen. Dann sollte der Buttonclick abgearbeitet werden.

MfG,
Peter


Rasipu - Do 15.05.03 18:02

Es klappt jetzt schon wieder mehr :-)
Jetzt geht es an die nächsten Fehler,

Danke Peter!
Bis demnächst,

Ralf


Haegar - Do 15.05.03 21:22

mal ne frage, wo baue ich denn in einer prozedur diesen befehl am besten ein? ganz am anfang, am ende, oder irgendwo inner mitte, oder gar vor bestimmten befehlen?

danke schonmal
gruss haegar


Christian S. - Do 15.05.03 21:39

Das kann man pauschal nicht beantworten. Nehmen wir mal folgendes Beispiel: Du hast eine while-Schleife und einen Button. Klickt man den Button wird eine Variable "abbrechen" auf true gesetzt. Das soll in der while-Schleife überprüft werden. Dann ist es natürlich sinnvoll, den Befehl vor der Überprüfung einzubauen, damit der Buttonklick noch verarbeitet wird und die Variable rechtzeitig gesetzt wird.


Haegar - Fr 16.05.03 11:19

also liegt das in meinem logischen verständniss des praktischen ablaufes!?
:nut:

nu gut danke dann
gruss haegar