Einzelnen Beitrag anzeigen

whiteF

Registriert seit: 14. Okt 2008
45 Beiträge
 
#4

AW: thread beenden sofern vorhanden und erneut starten

  Alt 20. Feb 2016, 13:10
danke für die vorschläge.

ich habe es jetzt so gemacht:

> Threadunit in die uses aufgenommen (anstatt im ButtonClick als var deklariert)
>>> private Thread_PictureSearch : TThread_PictureSearch;

> habe eine gloabe variable in die Threadunit aufgenommen
>>> Diese wird bei einer Exception := false
>>> Diese wird bei durchlauf := false

Der Click auf Button sieht dann nun wie folgt aus:

Delphi-Quellcode:
procedure TFormVTBSuche.ListBoxBearbeiterClick(Sender: TObject);
begin
 if MyThreadRunning = True then
  begin
    if Assigned( Thread_PictureSearch ) then
    begin
      Thread_PictureSearch.Terminate;
    end;
  end;

//mache was...

      Thread_PictureSearch := TThread_PictureSearch.Create(False);
      Thread_PictureSearch.FreeOnTerminate := true;
      Thread_PictureSearch.Bildname := ImgName;
      Thread_PictureSearch.ApplicationTitle := Application.Title;
      Thread_PictureSearch.Resume;
      MyThreadRunning := True;
Nun wird wenigsten kein weiterer Thread gestartet.
Jedoch geht die cpu Last dennoch nach oben...


.
  Mit Zitat antworten Zitat