Danke für den Tipp, ste_ett!
Ich habe einen Pointer auf den Typ deklariert und diesen als Parameter übergeben:
Delphi-Quellcode:
function TClient.RecvThread_Open(g_cs: PRTL_CRITICAL_SECTION): Boolean;
var
ThreadID : Cardinal;
Parameter : PParameter;
begin
New(Parameter);
Parameter^.Client := self;
Parameter^.g_cs := g_cs;
InitializeCriticalSection(g_cs^);
FClientThread := BeginThread(nil, 0, @Client_RecvThread, Parameter, 0, ThreadID);
FTerminated := (FClientThread = 0);
Result := not FTerminated;
end;
Natürlich musste ich für meine RecvThread_Close()-func ebenfalls solch einen Parameter deklarieren, damit die CriticalSection mittels DeleteCriticalSection() freigegeben werden kann.
Nochmals Danke