问题如下:
我用Delphi2010创建一个TRemoteDataMoudle部分代码如下:
type
    TSqlHelper = class(TRemoteDataModule, ISqlHelper)
    //定义了一个方法
    function TestConnect: WideString; stdcall;
    function TSqlHelper.TestConnect: WideString;
    begin
        Result := 'Hello World!';
    end;.....
.....
.....initializationTComponentFactory.Create(ComServer, TSqlHelper, Class_SqlHelper,
  ciMultiInstance, tmApartment);------------------------------------------------------------------在测试中测试如下:
procedure TFrmMain.Button3Click(Sender: TObject);
var
    sqlhelper : variant;
begin
    sqlhelper := CreateOleobject('FrameWork.SqlHelper');    sqlhelper.TestConnect;    showmessage(sqlhelper.TestConnect);
end;我们从上面代码中可以看到 TestConnect 的返回值类型是 WideString。
一旦执行Button3Click将会报错“out of memory”,如果把 TestConnect 的返回类型改成
int,则不会报错。请问何解?