I have a very simple unit that uses RTTI to stream class instances to and from strings/streams.
i believe this is an easy foundation on wich to develop something along the lines of what you are trying to do 2012/10/29 Frank Church <vfcli...@gmail.com>: > > > On 29 October 2012 09:43, Michael Van Canneyt <mich...@freepascal.org> > wrote: >> >> >> >> On Mon, 29 Oct 2012, 印場 乃亜 wrote: >> >>> Greetings, >>> >>> I am familiar with the basic underlying methods available for >>> transferring data between processes on Windows and Unix, i.e. Pipes, Shared >>> memory, and TCP/IP - but what I am not familiar with is any higher level >>> functionality that may be available on FPC. >>> >>> As an example: I have one application with a daemon that uses the IPC >>> component to write to a file in CSV format, and then the user application >>> reads this (GPS location) data via IPC. Then I have to re-convert this >>> string data into a series of floating point values manually, though. The >>> IPC component doesn't seem to be reliable on all platforms either (it >>> sometimes blocks on OS X, and at least the debug client doesn't seem to work >>> at all on Windows 7). >>> >>> Another disadvantage is that the sequence of launching the applications >>> matters, and what's more, it seems there can only be one "client" per >>> "server" in many cases. >>> >>> More to the point, if I want to pass around structures, records, >>> etc.between processes - what is the best day? For example, Javascript uses >>> JSON. I know there are JSON libraries and various other libraries for >>> Pascal - but I don't know what is the most standard way. (I think this kind >>> of marshalling/unmarshalling may be more standard in Java and C#, but I >>> don't know the "normal" way in Delphi/FPC). >>> >>> I would prefer to use built-in functionality, rather than learn yet >>> another library - and if learning a library, I would prefer to use one >>> with lots of users that is actively maintained. Likewise, I would prefer >>> to actually "pass" the data, rather than just pass a pointer to it. I >>> plan to have the processes run on the same machine, so I don't need a >>> solution that works with networking, though that would be fine, of >>> course. >>> >>> Along the same lines, a convenient way to call functions/procedures with >>> parameters from the "other" process would be greatly appreciated. (i.e. >>> something like RPC that handles OOP). >> >> >> You should try WST. >> >> It's perfectly suitable for all this. It is actively used and maintained. >> You can choose which encoding (binary, soap, JSON) is used, and which >> protocol (Direct library, TCP socket, http). >> >> Michael. >> _______________________________________________ >> fpc-pascal maillist - fpc-pascal@lists.freepascal.org >> http://lists.freepascal.org/mailman/listinfo/fpc-pascal > > > > I have to second Michael's response. Inoussa discussed on some thread some > time back and in fact I am lookiing to read it again. > Does anyone recall that thread? > -- > Frank Church > > ======================= > http://devblog.brahmancreations.com > > _______________________________________________ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/mailman/listinfo/fpc-pascal _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal