![]() |
XE2: TThread.Start erzeugt Exception
Hallo,
in einem Projekt das ich aus Delphi 7 in XE2 portiert habe, erzeuge und starte ich einen Thread so:
Delphi-Quellcode:
Unter XE2 wird "Resume" als veraltet angewarnt und man solle "Start" benutzen".
//Thread erzeugen
MD_Thread := TDatenThread.Create; //Priorität festlegen MD_Thread.Priority := tpNormal; //Thread nach dem Freigeben selbstständig löschen lassen MD_Thread.FreeOnTerminate := true; //Thread starten MD_Thread.Resume; Wenn ich aber nun "Resume" durch "Start" tausche, dann erhalte ich eine Exception: Zitat:
Nun frag ich mich, warum das Start eine Exception schmeisst? Da bleib ich dann doch lieber bei "Resume". [Edit] Argl! :wall: Im constructor von TDatenThread war
Delphi-Quellcode:
drin.
create(false)
Deswegen wurde der Thread sofort gestartet. Dann muss er natürlich bei "Start" eine Exception schmeissen
Delphi-Quellcode:
constructor TDatenThread.Create;
begin inherited Create(false); //StringList erzeugen end; |
AW: XE2: TThread.Start erzeugt Exception
Resume und Start sollten eigentlich das Gleoche sein. :gruebel:
Wird dein DatenThread überhaupt Supended (angehalten) erstellt? [edit] Nee, ist nicht das Selbe. Resume und Suspend zählen, wie oft angehalten wurde und behandeln keine Startfehler, wenn der Thread schon läuft, welchen man starten will, was Start aber macht. Etwas das schon läuft, das kann man nicht mehr starten. :stupid: |
AW: XE2: TThread.Start erzeugt Exception
Zitat:
|
AW: XE2: TThread.Start erzeugt Exception
ähhh, sag ich doch :lol:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 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