Hello!
I talked to Mattias about the advancedipc implementation and he noticed that the thread ID doesn't have to be necessarily a system-wide unique constant (which I didn't know).
Therefore I fixed advancedipc.pp:
1.) Changed GetCurrentThreadID to GetProcessID.
2.) Added a critical section to TIPCBase.GetUniqueRequest and moved/renamed it to TIPCClient.CreateUniqueRequest since it is used only by TIPCClient.
Other fixes:
3.) Fixed some comments.
4.) Added PeekResponse and DeleteRequest with an optional aRequestID parameter.
5.) Some refactoring (also to keep the FPC and Lazarus versions as similar as possible).
The public API hasn't changed.
Patches for both the FPC and Lazarus trunks are attached.
Ondrej
