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