0

首先,我是 C++ Builder 中这种开发的新手,所以我正在寻找在 C++ Builder XE8 中完成任务的最佳方法。基本上,我将有一个 firemonkey GUI 应用程序将更新推送到 sqlite 数据库(请告知是否有更好的选择)和另一个 firemonkey 应用程序(基本上是一个后台服务),它将在它和一些定制硬件之间进行交互. 所以,我的问题是,什么是最快、最“实时”的方式来传达数据库已更新。事件处理程序?我不想使用每 100 毫秒刷新一次实时绑定的计时器,因为这似乎很昂贵。请记住,这将在 Android、iOS 和 Windows 设备上运行。其中一些可能动力不足。

我现在的想法是原始应用程序将根据需要将更新推送到 sqlite 数据库,这只是磁盘上的一个文件。接口的 firemonkey 应用程序需要知道这些更新何时通过事件侦听器发生,或者从我所读到的这些 RTL 消息是多平台的。这个想法是用最少的内存占用实现最快的通信。我还不确定我们是如何处理硬件的,但现在,我只需要将 A 点带到 B 点,稍后我会担心 C 点(硬件)。因此,任何有关使接口应用程序侦听来自原始 GUI 应用程序的数据库更新的建议都会很棒。我还阅读了他们的文件侦听器,您可以检查文件是否已更新?

4

1 回答 1

1

我不确定我是否完全理解您要完成的工作,但我会尽我所能回答。

由于您控制系统的两端,因此我不会尝试找出数据库何时更改,而是在写入更改时通知所有应用程序。让我解释。

您有一个主应用程序来处理对数据库的所有写入。当它写入数据库时​​,让它也向所有其他连接的应用程序发送通知。因为它是更新数据库的最佳方式。

处理通信的最简单且非常轻松的方法是 App Tethering:概述视频文档这是一个关于将 App Tethering 与连接硬件 (IoT) 结合使用的 CodeRage 会话,以及另一个关于App Tethering的一般会话。

下周还有一个关于 App Tethering with Encryption 的技能 Sprint(我知道你不需要加密,但仍然可能是提问的好地方)。

此外,InterBase XE7 引入了更改更改视图,这使得应用程序可以非常轻松地查看自上次以来数据库中的更改。

于 2016-01-15T23:19:51.297 回答