如何使用DDE服务器

时间:2011-02-25 23:07:45

标签: delphi dde

我可以使用DDE作为服务器获得一些代码示例吗?我知道如何使用客户端部分,但无法设置我的应用程序充当服务器并接收数据。

2 个答案:

答案 0 :(得分:2)

在Delphi安装中查看名为DDEDemo的文件夹。这是Delphi使用的DDE项目(我不是100%确定它仍然包括在内,但看看)。该演示包括DDE客户端和服务器。

修改 - 尝试使用此link获取一些示例代码。

答案 1 :(得分:2)

使用DDE服务器非常容易,甚至不需要示例代码。您可以在Delphi表单设计器中的设计时间执行此操作:

创建发送数据的服务器:

  1. 删除TDDEServerConv和 表单或数据上的TDDEServerItem 模块。
  2. 将服务器项目连接到 服务器对话(设置 DDEServerItem1.ServerConv = DdeServerConv1 使用对象检查器,有一个 下拉列表,但双击 这就足够了。
  3. 将DDEServerItem.Text值设置为某个有效文本值(即“A”)
  4. 要接收数据,您可能希望拥有由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,它不起作用)。