DDE再问(100分)

  • 主题发起人 主题发起人 single
  • 开始时间 开始时间
S

single

Unregistered / Unconfirmed
GUEST, unregistred user!
DDEClientConv.SetLink函数中的DDEService参数到底能不能加路径?
现有如下DDEClient代码段
DdeClientConv1.ConnectMode := ddeManual;
if DdeClientConv1.SetLink('Cserver', 'ColorServer') then
^^^^^^^^^
begin
DdeClientItem1.DdeItem := 'ColorItem';
if not DdeClientConv1.OpenLink then
begin
ShowMessage('OpenLink Failed');
m_error := getlasterror;
ShowMessage(inttostr(m_error));
end
else
ShowMessage('OpenLink Succeed!');
end;
配合我编写的Cserver程序(DDEServer)一起工作,OpenLink Succeed.
注意我标注的SetLink函数的第一个参数,这个表示DDEServer的程序名(
去掉扩展名.exe)。按照Delphi的联机帮助的说法,当有必要的时候,
这个参数可以包括路径名。
于是我把它改成了全路径,譬如改成'C:/test/CServer',
再执行,结果发现CServer程序也会自动的被执行,但是
OpenLink Failed。 我将其替换成了任何一种可能性,
包括'./CServer',还是不行,百思不得其解,希望各位高手不吝赐教
若是该参数真的不支持路径名,那么DDE的通讯双方不就有了个不
成文的规定,就是两者必须在同一个路径下才能协同工作,那
不是成了个天大的笑话了么?
 
DdeClientConv.ServiceApplication := 'PATH/CServer';
DdeClientConv.SetLink('CServer','GoldServer');
也就是说,在SetLink的第一个参数里不能设路径,如果程序不在同路径下,就必须在ServerApplication里设置。
 
接受答案了.
 

Similar threads

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