AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Thread beenden

Ein Thema von Walter Landwehr · begonnen am 12. Mär 2017 · letzter Beitrag vom 12. Mär 2017
 
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
405 Beiträge
 
Delphi 10.4 Sydney
 
#1

Thread beenden

  Alt 12. Mär 2017, 16:46
Hallo, Ich weiß es ist schon vieles über Thread beenden geschrieben worden aber das richtige habe ich noch nicht gefunden.

Also ich erzeuge einen Thread so.
Delphi-Quellcode:
public
  { Public-Deklarationen }
    calSyncThread: TNxSyncThread;

  procedure ThreadErzeugen(doResume: Boolean=true);
  procedure Threadbeenden;

implementation
 
procedure TdmMain.ThreadErzeugen(doResume: Boolean=true);
begin
  if CalSyncThread = nil then begin
    calSyncThread := TNxSyncThread.Create (True);
    calSyncThread.Server := ibconMain.Server;
    calSyncThread.Path := ibconMain.Path;
    calSyncThread.LogViewEnabled := False; // für Debug auf True stellen
    calSyncThread.Protocol := ibconMain.Protocol;
    calSyncThread.StartWork;
    calSyncThread.OnTerminate := TerminateCalSynThread;
    calSyncThread.FreeOnTerminate := False; // 11.03.2017 WL
  end;
  if doResume then
    calSyncThread.Resume;
end;
und will ihn so beenden:

Delphi-Quellcode:

procedure TdmMain.Threadbeenden;
begin if CalSyncThread = nil then Exit;
  if CalSyncThread.Worker <> nil then begin
    try
      CalSyncThread.Worker.stopped := true;
      CalSyncThread.Terminate;
      while CalSyncThread.running do begin ---------> An dieser Stelle kommt ab und zu eine Schutzverletzung aber nicht immer.
        Application.ProcessMessages;
        Sleep(0);
      end;
      CalSyncThread.Worker.StoreRefrehToken;
      CalSyncThread.Worker.NxHelper.con.Connected := false;
      // FreeAndNil(CalSyncThread);
    except;
    end;
  end;
  calSyncThread.suspend;
Wer weiß wie ich den Thread sauber beende.
Walter Landwehr
Mfg

Walter
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz