I am having a problem that I do not understand, what It means,
The Error message I receive is: *'Cannot detach from another thread'*
Here is my code, based on some example I got from ICS, the code below is in
my Main Unit.
{*
We have to attach client socket to this thread's context and then
process messages so that TWSocket events works.
}
procedure TClientThread.Execute;
begin
if not Assigned(WSocket) then
Exit;
{ Attach client socket to this thread
}
WSocket.ThreadAttach;
{ Signal main thread that we've attached socket to this thread
}
ThreadAttached := TRUE;
{ Now let main thread continue starting the connection.
}
{ This little avoid race condition.
}
Sleep(0);
{ Let's block on critical section already owned by main thread
}
EnterCriticalSection(FCritSect);
LeaveCriticalSection(FCritSect);
{ Then process messages until WM_QUIT message is posted.
}
{ TWSocket is event-driven. So even when used within a thread, we
}
{ have to have a "message pump". Any message pump will do and there
}
{ is one built in TWSocket, so use it !
}
WSocket.MessageLoop;
{ Be sure to have main thread waiting for termination before
terminating}
Sleep(0);
{ Detach the hidden window from within the thread
}
WSocket.ThreadDetach; //<<<<<<< ERROR Event Raised.
end;
--
C: 076 337 4368
T: 021 880 2037
F: 021 880 2530
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be