Delphi 从后台exe到activex(边栏小工具)的单向通信

Delphi 从后台exe到activex(边栏小工具)的单向通信,delphi,com,activex,Delphi,Com,Activex,我需要一个应用程序/后台进程和小工具之间的小型通信器,我认为制作自己的activex模块最容易,它只有getText()和settText()。我需要每秒传递一次字符串。我想activex对象应该使用共享数据,以便另一个新的activexobject()(由javascript小工具页创建)可以访问EXE设置的数据 执行此操作的最佳方法是什么?我应该从运行的进程中调用一些myactivex.setText()方法,但在这种情况下如何在activex模块之间共享数据?选择哪种线程模式?实例化是否会

我需要一个应用程序/后台进程和小工具之间的小型通信器,我认为制作自己的activex模块最容易,它只有getText()和settText()。我需要每秒传递一次字符串。我想activex对象应该使用共享数据,以便另一个新的activexobject()(由javascript小工具页创建)可以访问EXE设置的数据


执行此操作的最佳方法是什么?我应该从运行的进程中调用一些myactivex.setText()方法,但在这种情况下如何在activex模块之间共享数据?选择哪种线程模式?实例化是否会影响某些内容?我应该从delphi GUI创建自动化对象吗?

我认为您最好的选择是使用它来与多个应用程序通信。 对于应用程序之间的数据传输,我使用HTTP中的内容类型头来允许不同的表示(文本、二进制、XML)

再见。

您需要某种IPC(进程间通信)。你有很多选择:

  • sockets
  • 信息
  • 命名管道
  • 共享内存
  • 邮箱
  • 文件(通知)

有很多方法,我只是描述了最流行的方法。如果您正在寻找一个快速且易于使用的解决方案,您可以查看我的您可以使用的解决方案(我相信也包括在JVCL中)。它们适用于单向通信。

最简单的方法(我认为)是将SendMessage与WM_COPYDATA一起使用。

我相信共享内存或PostMessage或类似的方法会更快。。??