Einzelnen Beitrag anzeigen

erik-17

Registriert seit: 8. Apr 2010
51 Beiträge
 
Delphi 3 Professional
 
#1

Wartezeit eines Thread vorher abbrechen

  Alt 19. Apr 2011, 13:37
Delphi-Version: 5
Hallo,

ich habe eine Thread, der alle xy (normal 5-600) Sekunden ein zufällige Message anzeigen soll. Da er ja die meiste Zeit nichts macht, schläft er in der Zeit mit "sleep(Wartezeit*1000);". Jetzt soll aber ein Benutzer den Thread auch anhalten können (und am besten auch gleich freigeben). Bisher mache ich das mit einer while-Schleife, die solange läuft, bis eine Variable durch das Hauptformular auf false gesetzt wird. In der while-Schleife steht auch das sleep(Wartezeit). Nur kann das dann ziemlich lange dauern bis der Thread dann freigegeben (FreeOnTerminate) wird...
Meine bisherige Idee war:
Delphi-Quellcode:
i:=0;
 repeat
     sleep(Wartezeit);
     inc(i);
 until (i>1000) or (not weiter);
Kann man das auch etwas eleganter lösen?? Hab mich auch schon ein bisschen mit sleepex(...) beschäftigt, aber da hab ich keine Ahnung, wie ich das verwende.

Bin über Hilfe sehr dankbar
  Mit Zitat antworten Zitat