为什么DDE client控件的OpenLink只能在Form的Create中(100分)

  • 主题发起人 主题发起人 wolf-lee
  • 开始时间 开始时间
W

wolf-lee

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾, 我写了两个小程序分别作DDE的Server and client, 使用了Delphi的DDE控件,
但有个问题: 我若把DdeClientConv的OpenLink放在Form的Create事件中, 则功能正常,
Server and client可以双向交换数据, 但若把OpenLink放在其它事件中, 则client端
DdeClientItem的OnChange事件无论如何都不能触发, 请问到底是怎么回事?
 
这个问题我也出现过,不过现在我有一个自己的程序,可以随时openlink。
如需要请发email给我,hanuser@263.net.
 
Thanks, My E-mailis : wolf-lee@sina.com

我这里也有一个别人写的程序可以随时openlink, 可是我无论如何也看不出为什么
他的可以, 而我的就是不行. 我甚至重新建立project, 从他的程序中拷贝控件和
源代码, 却依然不行. 我不知道我到底漏掉了什么. 那个人他自己也无法再写出一个
能随时openlink的DDE client.

给你的邮件中附带了我所说的那个project, 希望作者不会怪我吧.
 
这是一个BUG,只有在创建时实时建立的link才可以在运行期任意openlink
 
To iie:
您肯定这是个bug吗?
除了直接调用Win32 API, 有否其它方便的方法避免此bug? 或者borland是否
有相应的补丁?
 
我试过在建立工程的时候用paster link建DDE connect就可以避免,
不过没有严格测试
 
谢谢, 我试一下.
 
真是奇特?!
 
xyf2001721你好,我现在也在做关于dde的程序,但我是刚接触
希望能看看你的例子,能给我发一份吗?(我想以手动的来连接客户端和服务器端
但当我DdeClientConv1.CloseLink();后再DdeClientConv1.openLink();还是没有连接上
这是什么原因?断开连接后怎么再连接上呢?)
 
wolf-lee,我想你没少试验吧!我也是。
如果你对系统不是很熟悉,又没有用API连DDE的足够经验。我劝你换个MS的语言。
Delphi的DDE可不好玩,如果数量很少还可以对付,大量的连接恐怕用它自己的DdeMan.pas
是解决不了的。
 
多人接受答案了。
 
后退
顶部