我有类似的东西:
function DDE_Read(Service, Topic, Items: string): string;
var
DDE: TDDEClientConv;
begin
try
DDE := TDDEClientConv.Create(nil);
DDE.SetLink(Service, Topic);
DDE.OpenLink;
Result:=DDE.RequestData(Items);
finally
DDE.Free;
end;
end;
我连接到DDE服务器并获取数据。有时我可以获取数据,有时我会收到空字符串。你能告诉我这段代码好吗?我多久可以连接到dde服务器来获取数据?
你可能有一些* dll或你自己的代码吗?
// EDIT 我开始了,我现在不总是你的意思:)我非常感谢你帮助我。所以我的代码应该像那样?
function DDE_Read(Service, Topic, Items: string): string;
var
DDE: TDDEClientConv;
temp:PAnsiCHar;
begin
DDE := TDDEClientConv.Create(nil);
DDE.SetLink(Service, Topic);
DDE.OpenLink;
try
temp:=DDE.RequestData(Items);
Result:=temp;
SysUtils.StrDispose(temp);
finally
DDE.Free;
end;
end;
答案 0 :(得分:1)
您可以尝试将特定服务的TDDEClientConv实例或服务和主题的组合保持较长时间。这至少可以减少你的问题。