Hi there.
I got the following problem: I've two apps that are both communicating using TSimpleIPCServer (ok, is more like one app is constantly sending data to annother).
The problem is, that the data is indeed not much in terms of overall size, but split up to many, many small parts.
Using the standard implementation of TSimpleIPCServer (im on Windows right now, using Laz. 1.0 x64) you can either wait for a message on the main thread (just droppin the component on the form and create an OnMessage-Event - which causes the Client to stall on each UI-based action in the server), or create the Component in another thread and poll.
Where the latter is incredibly fast, it uses as many CPU resources as available, obviously.
I tried now to implement my own version of TIPCServerComm, which should work I hope (and would result in an own MessageLoop in the Thread owning the comm. window, which - I hope - would enable me to use GetMessage instead of PeekMessage to save CPU resources) - but I cannot access some Protected Methods and Variables in TSimpleIPCServer to implement the ReadMessage() mechanics.
There's a simmilar discussion filed as bug #0019136 (
http://bugs.freepascal.org/view.php?id=19136), but it only applies to Unix-like OSes (and was indeed fixed for them).
Should I file another bug for the WinXX-Platform / try to create a patch for it - or is there any other favoured solution?
BTW: Packing multiple messages in one could be done, but I'd like to get every message sent over at once, trying to avoid loosing a whole bunch of them when the program crashes, I'm using that for debugging.
Thanks for any help!