AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Best Practice : ein Object in enem anderen Thread abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

Best Practice : ein Object in enem anderen Thread abfragen

Ein Thema von MyRealName · begonnen am 25. Jan 2019 · letzter Beitrag vom 26. Jan 2019
 
Schokohase
(Gast)

n/a Beiträge
 
#7

AW: Best Practice : ein Object in enem anderen Thread abfragen

  Alt 26. Jan 2019, 08:16
Wenn du möchtest, dass ein Thread seine Arbeit beendet, dann rufe die Methode Delphi-Referenz durchsuchenTThread.Terminate auf.

Innerhalb des Threads kannst du die Eigenschaft Delphi-Referenz durchsuchenTThread.Terminated (protected ) abfragen, ob es da einen Wunsch nach Beendigung gibt.

Zusätzlich gibt es auch die Methode Delphi-Referenz durchsuchenTThread.TerminatedSet die man überschreiben kann. Diese wird beim erstmaligen Aufruf von Delphi-Referenz durchsuchenTThread.Terminate aufgerufen.

Grundsätzlich entscheidet der Thread immer selber ob er sich nun beendigt oder nicht, denn nur der Thread selber weiß um seinen Zustand und wann dieser gefahrlos verlassen werden kann.

Eine simple Execute-Methode in einem Thread sieht z.B. so aus:
Delphi-Quellcode:
procedure TMyThread.Execute;
begin
  while not Terminated do
  begin
    // mach was simuliertes
    Sleep(10);
  end;
end;
Der läuft jetzt so lange, bis man Delphi-Referenz durchsuchenTThread.Terminate aufruft (was im Übrigen von Delphi-Referenz durchsuchenTThread.Destroy intern auch aufgerufen wird).
  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 17:10 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