Communications and System Hooks

Hi All

MY request is a little more to do with windows I think, but I code in delphi so here goes. I have an application where I communicate via an RS232 port to several hardware devices. I've got the communications done quite well and the first application is working well in the field. Each of these devices sends back single bytes of data representing their various conditions. I determine which data I've got by using a single communication system and addressing each device on the bus.

Here's the problem: I need to be able to create various communication systems, say rs232, ethernet, and USB, which all run at the same time, and pass there data to a central system. That system be setup to identify which data is coming in and assign it (predefined) unique name and then pass it on to the next (independant) program.

Sounds a bit much but the idea is to be able to have data with a 'name' or tag that any program in windows can read or write to via it's tag, but not have to know about it's actaul communication details !

I was thinking along the line of windows messages, but I'm not sure how to make it event driven ? i.e. I want my application software to hook into the comms. software so it can repond to changes etc.

Well, I think that sums it up, if you need more info or have and quieries let me know and I'll try to clarify some more.

Best Regards


  • Since the communication between the application and the device is ok, I recommend you to read about TThread.



  • What you need here is effectively a middleware program.

    So an application requests to read or write data via a tag, pick your mechanism (shared memory, windows messages , com). This request is picked up by the intermediate code wich then looks up what communication mechanism (USB, Serial, TCP/IP etc) is used to access the data for the tag, and passes it to the relevant sub process which communicates via that mechanism. A little bit more work and the process could be completely configurable.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!