我编写了一个设备控制器(rs232),并且它正在成功使用,但是用户想要从Excel中查看数据并控制设备(或者可能通过我的程序进行通信)。我认为DDE是一个选项,并且发现RTD(IRtdServer)可能是一个好的开始(尽管没有办法从实时数据客户端将数据发回“服务器”)。将命令从Excel发送到应用程序? COM?
我发现这些资源的RTD部分: http://support.microsoft.com/?id=327215 和 http://support.microsoft.com/?id=327215
这是一个多线程的应用程序,我已经加入到拥有COM端口的多个监听器,这样我可以更新的能力多个客户。我将添加COM接口到EXE。
但我需要什么之后那就是通过从Excel我的应用程序的控制我的应用程序/代理命令发送到设备的某种方式。
什么是最好的方法来做到这一点?
也许另一个COM接口并从VBA调用它?我不熟悉从Excel中使用脚本,所以也许有人可以提供示例代码或链接,显示COM对象和随附的VB(A?)代码的代码?
请记住,这是一个非托管C++应用程序,它不能被转换为管理或C#现在。使用C#的替代方案也受到欢迎,但这是一个长期的重写。
由于
EDIT 我不得不添加COM支持到现有的EXE的替代方案。我认为添加双向通信更灵活(跨平台 - 也许提升或corba或基于我自己的消息协议的直接IP)
一个COM服务器(或两个)可以包装该通信信道 - 无论它是。这并没有真正影响我的问题 - 我仍然想知道从Excel控制外部EXE的选项。
编辑 不必.NET推出给客户也是一个大利好。许多这些设备都在PC上,很旧,可能有NT或XP,我不赞同将我的安装/安装包从700KB增加到荒谬的.NET安装大小...
我认为你是对的C#方面。这会让事情变得更简单。我可以从我现有的应用程序中提供一些基本的进程间通信,然后用C#构建Excel /自动化作品。 – Tim 2008-12-29 04:55:55