Need advice for speed updating gauges

Hello All,

I am looking for the best way to accomplish a task in C++ Builder XE8. Basically, I am going to have one firemonkey application with TMS instrumentation pushing updates to a sqlite database (please advise if there is a better alternative) and another firemonkey application that is going to be interfacing between it and some custom made hardware. So, my question is, what is the fastest, most "live action" way to communicate that the database has been updated. Event handlers? I dont want to use a timer that just refreshes the livebindings every 100ms as that seems to be expensive. Keep in mind, this is going to be running on Android, iOS and Windows devices. Some of them may be underpowered. There is really no need for security or encryption for the communication.  I am using a few linear gauges and few circular gauges as well as some charts from the TMS chart pack.  I want something that is going to be lightweight and speedy to be sure these controls are updated on the fly.

My ideas are now is the original application will push updates as needed to the sqlite database, which is just a file on the disk. The interfacing firemonkey application will need to know when these updates have happened either by an event listener, or from what I have read, these RTL messages that are multiplatform. The idea is to have the fastest communication with the lowest amount of memory footprint. I am not sure how we are handling the hardware yet, but for right now, I just need to get point A to point B and I will worry about Point C (the hardware) later. So any advice on making the interfacing application listen for database updates from the original GUI application would be great.

Thank you all for this advice, as I have read about 10 different ways to do things. You are all fantastic.

Sean M.

I'm not sure I fully understand your question. Are both applications running on the same hardware? Is the database also on the same machine or on a different server?

Why not use tethering? I am sure that you checked this already??
Another trick is to set flags in your SQLite table with timestamps and listening to according changes while using Triggers.
App Tethering will be the best approach from my point of view. Other solutions would be to set up a local server (Middle-Tier) or to use UDP Broadcasting within your LAN.

Hope that helped a little.