Delphi Ole自动化服务器中的故障
我在DelphiXe2中设置了一个OLE自动化服务器和一个OLE客户端。我的两种方法如下:Delphi Ole自动化服务器中的故障,delphi,com,delphi-xe2,ole,Delphi,Com,Delphi Xe2,Ole,我在DelphiXe2中设置了一个OLE自动化服务器和一个OLE客户端。我的两种方法如下: function TMyCom2.Get_Text() : IStrings; begin GetOleStrings(unit1.Form1.Memo1.Lines, Result); end; 以及: 现在我试着通过客户给他们打电话。 第二种方法(Set_Text)工作得非常好。 但第一个(Get_Text)应该收集服务器备忘录的内容并将其写入客户端备忘录,导致此异常: 服务器异常错误 为了获
function TMyCom2.Get_Text() : IStrings;
begin
GetOleStrings(unit1.Form1.Memo1.Lines, Result);
end;
以及:
现在我试着通过客户给他们打电话。
第二种方法(Set_Text)工作得非常好。
但第一个(Get_Text)应该收集服务器备忘录的内容并将其写入客户端备忘录,导致此异常:
服务器异常错误
为了获取Ole信息,我在客户端编写了以下内容:
procedure TForm1.Button1Click(Sender: TObject);
var
aStrings : IStrings;
begin
aStrings.Add(Server.Get_Text);
SetOleStrings(Memo1.Lines, aStrings);
end;
我不知道会出什么问题,如果有人能看看这段代码,告诉我到底出了什么问题,我非常感激;D
PS:我已经用整数测试过了,它很有效,所以问题与字符串有关
我在Dropbox上上传了这两个项目,因此请随意下载:
客户:
服务器:
aStrings.Add(Server.Get\u Text)代码>您不需要一个TStringsAdapter实例来实现它吗?你应该得到一个AV。谢谢,我去查一下TStringsAdapter。什么是AV?访问违规。请看Button1中的代码,您的aStrings变量是'nil',您不能对其运行'Add'。您得到了什么具体的“服务器异常错误”?请输入准确的错误消息,包括它包含的任何内存地址。我怀疑这个问题更可能与硬编码使用unit1.Form1
有关,这绝对是一种错误的做事方式。没有人愿意下载您的项目并为您完成工作。
procedure TForm1.Button1Click(Sender: TObject);
var
aStrings : IStrings;
begin
aStrings.Add(Server.Get_Text);
SetOleStrings(Memo1.Lines, aStrings);
end;