用用向导建一个datasnap rest服务端,服务端写一个方法用来返回内存流,代码如下 function TServerMethods.DownLoadFile(AFileName: string): TMemoryStream; begin if FileExists(AFileName) then begin Result := TMemoryStream.Create; Result.LoadFromFile(AFileName); end; end; 再建一个vcl app 用idhttp来调用这个方法,当idhttp下载完毕这个文件后,居然这个服务端模块不会释放。如果服务端的方法是返回简单数据类型,比如integer,string等,客户端调用结束后,服务端模块是会自动释放的。server设置为Invocation。如果谁有环境,帮我测试下,或者告诉我解决方法。xe5和xe6均如此。
----------------------------------------------
-
function TServerMethods.DownLoadFile(AFileName: string): TMemoryStream; var tmpm:TMemoryStream; begin if FileExists(AFileName) then begin tmpm:= TMemoryStream.Create; tmpm.LoadFromFile(AFileName); result:=tmpm; end; end;
----------------------------------------------
-文科男,程序员。