Win98上:如何将本地的DDE Sever改造成 Net DDE Server?用Excel如何通过Net DDE访问别的机器 DDE Server上的数据?

  • 主题发起人 主题发起人 lixx
  • 开始时间 开始时间
L

lixx

Unregistered / Unconfirmed
GUEST, unregistred user!
Win98上:如何将本地的DDE Sever改造成 Net DDE Server?用Excel如何通过Net DDE访问别的机器 DDE Server上的数据? 各位多少说几句!! 特请BlackDragon,我在线等候! (50分)<br />我做了一个DDE Server在同一台机器上可以使用。(即 DDE Client可以访问该Server的数据)
现在我想把这个DDE Server改造成支持 Net DDE的程序,我曾按照一个方法改造了一下,
(改造并不需要改变程序,只是在注册表中加个相应的 Share Name),然后在别的机器上
用Excel 当作DDE Client访问它,可是不行。
请问:
1。有没有人知道将 DDE server改造成Net DDE Server的方法。
2。在Excel通过 Net DDE访问别的机器上 DDE Server数据的方法。
(即相应的语法,我用下面的语法试了一下,可是不行
//lixx/NDDE$|Mytest$!MyData
[其中 lixx 是机器名, Mytest$是Share Name]

很着急,请各位帮帮忙!
 
server是win2000吗?
 
平台是Win98 SE,不是Win2k
 
你在注册表中查找netdde项,照着herts$新建个项目(名字为你的共享名),在共享名下建立
键值,可参考herts$,简单修改下键值就可以了,这就相当于nt下的ddeshare配置。
 
兄弟:
有opc的资料吗?你是搞工控的吧?
 
》BlackDragon
我就是这么改的,而且在外一台机器上打开Excel,当作DDE Client,我采用下面语法:
='//lixx/ndde$'|'Mytest$'!Mydata

机器名 - lixx
共享名 - Mytest$
项 名 - Mydata

可是取不来数据!!
真是急死人!!!
是一个工控项目,朋友找我帮忙,就差这一步了!
在本地机上DDE 通讯没有任何问题,按道理在注册表里改一下就可以当作NetDDE Server了,
可是不知道为什么就是不行!
还请多帮助!
你应该也是搞工控的吧,OPC的资料暂没有,查到后给你.
 
昨天试了一下,没问题,问题应该在注册表修改上,请把你的netdde下的所有键值贴出来。
excell连接就是把单元格付值='//lixx/ndde$'|mytest$!mydata.
不知你的ddeserver是不是自己做的,在单机上可以,我想程序应该没问题吧。
 
》:BlackDragon
不会吧!具体的键值与 NetDDE 中的其它几个键安全一样,只是应用程序名称与主题不一样而已。
ddeserver是我自己做的,单机上运行了几十个小时没有任何问题。
我有DDe Spy监视了一下 NetDDE,发现对话总是建立不起来!
可是从理论上讲,单机上可以,那么只要修改一下,在网络也应该没问题呀!
真是急死人……
 
还是贴出来吧,因为问题只能是ddeshare的问题了。
 
服务端先启动,再启动client.
 
mydata是服务端的item.
 
在主键
HKEY_LOCAL_MACHINE/Software/Microsoft/NetDDE/DDE Shares/Mytest$下
建立:

键值 数据
Additional item count 00 00 00 00
Application (我的应用程序名,包含路径)
Item ""
Password1 ""
Password2 ""
Permissions1 1f 00 00 00
Permissions2 00 00 00 00
Topic (我的程序的主题名)

我是通讯过程是:
1.在Server机器上打开netdde.exe
2.Server机器上打开DDE Server程序。
3.在另外一个客户机器上,打开netdde.exe
4.打开Excel,在R1C1格中输入 ='//lixx/ndde$'|'Mytest$'!Mydata
 
在主键
HKEY_LOCAL_MACHINE/Software/Microsoft/NetDDE/DDE Shares/Mytest$下
建立:

键值 数据
Additional item count 00 00 00 00
Application project //应用程序名
Item mydata //item名
Password1 ""
Password2 ""
Permissions1 1f 00 00 00
Permissions2 00 00 00 00
Topic (我的程序的主题名)

我的是这样的,成功。
 
我这样做了,还是不行。
另外,我觉得在注册表中,不可能需要加上Item,如果这样的话,我的工作量将会非常大:
因为我的Item有好几千啊!
(就算专门写一个程序,那样注册表也会变大不少吧?)
 
我的ITEM也有好几千个.我采用一个SERVER对多个CLIENT,,,以及多个SERVER各自对应多个CLIENT

也不行.

你这个问题和我那个差不多.

我只能写DDE SERVER,而CLIENT是固定程序,无法修改.

 
还有没有办法啊?
着急、上火……
 
不行,你把程序给我发过来吧,我调试好在说,我觉的应该是ddeshare的问题。
我的邮箱是blackdragonriver@sina.com
 
我是用VC写的,代码可能比较难读。
只把EXE程序发给你行不行?
 
》BlackDragon
可执行程序我已经发过去了,收到没有?
里面有具体使用说明。
若能调通,我非常感谢你!!
(其实不通也谢:-)
 
通过了,是你地注册表的问题,我帖出来:
REGEDIT4

[HKEY_LOCAL_MACHINE/Software/Microsoft/NetDDE/DDE Shares/test$]
"Additional item count"=dword:00000000
"Application"="DDESvrTest"
"Item"=""
"Password1"=""
"Password2"=""
"Permissions1"=dword:0000000f
"Permissions2"=dword:00000000
"Topic"="TestTopic"

把以上编辑成testndde.reg 运行.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
562
import
I
后退
顶部