dde hotlink(100分)

  • 主题发起人 主题发起人 pg
  • 开始时间 开始时间
P

pg

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾:
请问谁知道这个奇怪的现象:dde hot link is cold?
在delphi设计的程序运行时,setlink后,用create方法创建了几十个DdeClientItem,分别赋予不同的DdeClientConv(在设计时放在form中,设为自动联结第3方DDE服务器),在计时器中定时读取Item.Text值,此时我认为处在hot连接状态。
现象:在开始的一段时间(如30min)内,一切正常。而一段时间后item.text不再改变,成为定值,似乎dde不再激活
 
是否资源冲突造成的? 监视一下系统资源情况
 
系统资源虽然较低,但运行状态时基本在60%以上(但奇怪的是有5%的定期波动)。
另外,我以前在设计状态时,
发现静态的ddeclientitem.text(固定conv和item)也有类似现象,
在manual和auto切换则会再次激活。
而在runtime时则需要重新运行程序

我不解的是,似乎delphi的auto模式并不是hot模式,
因为我在第3方DDE服务器上发现虽然第3方DDE服务器与conv是hot link(仍在计数)
但第3方DDE服务器与item显示cold reguest(未更新计数)

最后,我想动态create几十个ddeitem不至于耗尽资源吧?
(关闭程序时倒是显示什么xxx错,
尽管我尽力释放动态创建的ddeclientitem'数据项'和由它们组成的List'数据项数组')
也许是我的方法有误,用DELPHI实时读取第3方DDE服务器有其他什么稳定方法吗?
 
问题有一定难度哦,是不是用DDE的人很少呢?
 
pg:

这个问题已经很长时间没有人参加讨论,为保持版面
整洁,节约网友时间,请提问者采取必要处理措施。
关于本版管理细则,请参见<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=111927">这个</a>问题。如两天
内提问者没有响应,我将采取强制措施。

如有管理建议,请到<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=111927">这里</a>提出。谢谢!
 
多人接受答案了。
 
没想到这么久的问题都时不时有人写信来问,
看来DELPHI的这个问题确实很严重。DDE-HOTLINK的问题,我是避开了。
建议你可以从以下几方面考虑:(DO EVENT不起任何作用)
1. use DELPHI dde_manual, see Internet 上大量的高手文章
2. use VB dde hot/cold link(对于大量的并发数据连接有缺陷,速度慢,勉强可用)
3. use C SDK (current,但前提是你能搞到SDK Example)

个人意见,热烈欢迎来信指正,交个朋友

(DELPHI 4.X not test)
 
我也遇到了同样的问题,甚至想用WinApi去解决,但是太麻烦了。看上去似乎是
Delphi的DdeMan.pas有问题,但是在Win2000下却完全正常。
 

Similar threads

后退
顶部