问题如下:
我用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,则不会报错。请问何解?
我用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,则不会报错。请问何解?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货