AGB  ·  Datenschutz  ·  Impressum  







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

Wo wird Thread freigegeben?

Ein Thema von TheMiller · begonnen am 6. Mär 2009 · letzter Beitrag vom 6. Mär 2009
Antwort Antwort
quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: Wo wird Thread freigegeben?

  Alt 6. Mär 2009, 19:56
Also:
Du erstellst den Thread, er geht über in die Execute Methode.
Gleich danach terminierst du diesen, daher wartet der Thread bis er die Execute-Methode verlassen hat und geht über in die von dir festgelegte onTemrinate-Methode. In dieser greifst du die Werte von bestimmten Eigenschaften ab und abschließend geht der Thread auch aus dieser Methode weiter.
MIt WaitFor wird gewartet, bis der Thread sich selber beendet hat, ehe mit FreeAndNil die Instanz aus dem Speicher gelöscht wird.

Es wäre wohl trotzdem besser, du stellt FreeonTerminate auf True und greifst wie zuvor in deiner onTerminate-Methode auf die Eigenschaften zu. Dann kannst du gewiss sein, das dein Thread fertig geworden ist. Setzt du noch einen Rückgabewert für das Beenden und wartest im Quellcode mit WaitForSingleObject(UpdateSucher.Handle, INFINITE) = <RückgabeWert>; bist du ebenfalls auf der sicheren Seite ...
Aber sowas schlug ja Apollonius in #2 schon vor.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:55 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