Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi Ole自动化服务器中的故障_Delphi_Com_Delphi Xe2_Ole - Fatal编程技术网

Delphi 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)应该收集服务器备忘录的内容并将其写入客户端备忘录,导致此异常: 服务器异常错误 为了获

我在DelphiXe2中设置了一个OLE自动化服务器和一个OLE客户端。我的两种方法如下:

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;