关于DDE的使用,如何让多个ITEM都对ONCHANGE作出正确反映啊?(100分)

  • 主题发起人 主题发起人 otot
  • 开始时间 开始时间
O

otot

Unregistered / Unconfirmed
GUEST, unregistred user!
我编写一个DDE Client程序,使用多个DdeClientItem(1...n),而共同使用同一个DdeClientConv,多个DdeClientItem使用同一个Onchange事件,并且为每个DdeClientItem设定不同的Tag(=1...n),以此区别驱动事件的DdeClientItem,但是在实际运行中发现,连接启动后,虽然任一个DdeClientItem的数值变化都触发了Onchange事件,但是它们返回的Sender居然都是“DdeClientItem1”,即第一个被设置指向DdeClientConv的Item,只有第一个数据在不断被刷新,其他都不能更新。
为了解决问题,我试过在运行中通过一个Timer定时循环执行以下语句:
DdeClientConv.SetLink(DDServer,DDTopic);
DdeClientConv.OpenLink;
这样在OpenLink的一瞬间,所有DdeClientItem.Onchange都返回正确了Sender,但是之后还是恢复原态,为了获得全部更新数据,只好不断的OpenLink,但是这样定期的OpenLink对程序的稳定性很不好。
请问各位高手有什么好的解决方法没有啊?
 
自己顶一下,是不是现在用DDE的人太少了?
 
后退
顶部