我可以获得一些代码示例以将DDE用作服务器吗?我知道如何使用客户端部分,但无法将我的应用设置为充当服务器并接收数据。如何使用DDE服务器
回答
看看您的Delphi安装中名为DDEDemo的文件夹。这是一个Delphi使用的DDE项目(我不是100%确定它仍然包含在内,但看一看)。演示包括一个DDE客户端和服务器。
编辑 - 对于某些示例代码,请尝试使用link。
使用DDE服务器非常简单,您甚至不需要示例代码。你可以只是在Delphi的窗体设计器内设计时做到这一点:
要创建发出数据的服务器:
- 删除一个TDDEServerConv和 TDDEServerItem表单或数据 模块。
- 服务器项目连接到 服务器会话(使用对象检查器中设置 DDEServerItem1.ServerConv = DdeServerConv1 ,有 下拉列表中,但双击 就足够了)。
- 的DDEServerItem.Text值设置为一些有效的文本值(即“A”)
接收数据,你可能希望由DDE客户端传递数据给服务器执行的宏。为此,您使用DdeServerConv.OnExecuteMacro事件。尝试将参数Msg:TStrings转储到这样的备忘录:
Memo1.Lines.Assign(Msg);
现在保存并运行您的项目。
为了在测试它在Excel类型:
=Project1|DdeServerConv1!DdeServerItem1
Excel的DDE客户语法部分是应用程序名,接着竖线,对话名称,随后感叹号,然后项名称。
你会看到在Excel中出现的值(A,或任何你放入项目中的Text属性)。
这是一个正常工作的单品DDE服务器,没有您写的任何代码。
我通常会发现,我在运行时创建对话和项目,而不是在设计时,在对我更有用的现实世界场景中。
对于较老的(非Unicode)Delphi版本,还有一个名为Django的全功能商业产品,它可以帮助DDE工作很多。
我想你也许正在寻找关于如何在delphi端编写“DDE Poke”命令处理程序的信息。我没有演示。我试了一下,显然这些东西并不适合我(服务器上的项目有一个OnPoke事件,我写了一个简单的客户端,名为PokeData,但它不起作用)。
嗨,不能让这个工作。我不知道如何在Excel中使用DDE,但我做了一个小客户端测试应用程序。例如,这适用于mIRC:http://pastebin.com/pqhLuZWN我可以成功地从mIRC中检索数据,例如昵称等。我尝试按照您告诉我的方式将其与服务器测试应用程序一起使用,但它从不显示任何内容备忘录。另外,如何在服务器中指定DDE服务名称? – hikari 2011-02-27 12:11:28
如果您尝试了它并且无法正常工作,您可能会输入错误的服务器名称,主题名称或项目名称。这是唯一的三种合理的可能性。这不像你想象的那么难。你看到我上面说了什么?我的项目的服务器名称是Project1。会话名称是DdeServerConv1,而项目是DDeServerItem1。 – 2011-03-10 01:36:46
- 1. 在Qt中使用DDE服务器
- 2. Excel 2016无法访问DDE服务器
- 3. NDDE实现DDE服务器,在服务器提醒
- 4. DDE服务器Windows:orcascr9.exe:应用程序错误
- 5. DDE服务器窗口 - 应用程序错误
- 6. 如何使用wpm2 bps服务器的bpmn服务任务?
- 7. 如何使服务器端
- 8. 如何使用DDE使用Javascript,而无需使用Active X的?
- 9. 如何使用下拉从服务器我得到使用knockoutjs从服务器
- 10. SendMessage()当用于连接到DDE服务器时,WINAPI获取挂起
- 11. 如何使用Ruby 2.4.0服务器
- 12. 如何使用Solr的云服务器
- 13. 如何使用服务器套接字
- 14. 如何使用jwt保护服务器
- 15. 如何使用服务器数据库?
- 16. 如何使用服务器时
- 17. 我如何使用Selenium服务器
- 18. 如何使用libcurl作为服务器?
- 19. 如何使用外部服务器
- 20. 如何使用bash跨服务器scp?
- 21. 如何从FTP服务器使用maven
- 22. SSIS:如何使用链接服务器:
- 23. 如何从HTTP服务器使用AJAX
- 24. 如何使用git与服务器?
- 25. 如何使用python web服务器
- 26. 使用VBA操作DDE?
- 27. 如何启用服务器
- 28. 如何使用节点服务动态图像服务器
- 29. 如何使用RED5闪存服务器为MP3服务
- 30. 如何使用Apache服务Django服务器和React客户端?
不包括了,至少不能用XE看到 – hikari 2011-02-26 13:44:45
哇..那是D1! (也许也是D2,但不是D3)。你有相当的记忆力。与D2007编译,不知道他们是否按预期工作。 – 2011-02-26 16:38:09
该演示仅涵盖客户端部分。 – hikari 2011-02-26 19:36:05