![]() |
Threads - Speicherprobleme
Hi,
Mir ist leider kein bessere Titel eingefallen. Ich musste jetzt am eigenen Leibe erfahren das es so ein Problem ist in Threads dynamisch Speicher zu reservieren oder freizugeben (GetMem, New, SetLength, ...). Damit schießt man den Thread irgendwie ab. Ich hab das Gefühl der Thread selbst überschreibt sich -.- Da gibt es doch bestimmt ne Lösung für oder?
Delphi-Quellcode:
Gruß
FDataThread := CreateThread(nil, 0, TFNThreadStartRoutine(@CheckIncomingData),Self, 0, ID);
procedure CheckIncomingData(AClient: TClient); stdcall; begin // SetLength, GetMem machen hier alles kaputt end; Neutral General |
Re: Threads - Speicherprobleme
Ich kenne keine und hatte bisher nie Probleme mit SetLength(), GetMem(), New() oder auch .Create() (bei nicht visuellen Klassen) in einem Thread. Somit muss das Problem bei dir wahrscheinlich an einer anderen Stelle liegen.
|
Re: Threads - Speicherprobleme
Nutze statt
![]() ![]() |
Re: Threads - Speicherprobleme
Zitat:
Jetzt tritt das Problem nicht mehr auf :) :thumb: Gruß Neutral General |
Re: Threads - Speicherprobleme
man kann aber auch selber den verschiedenen Delphi-Dingern (Speichermanager uvm.) mitteilen, daß man eine Threadanwendung hat.
einfach nur
Delphi-Quellcode:
IsMultiThreaded := True;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 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