TServerMethods1Client对象释放时提示invalid pointer operation错误
写了一个DATASNAP流传递的小程序,在释放TServerMethods1Client对象时提示invalid pointer operation错误,恳请各位高人指点。
procedure TForm12.ListView1Click(Sender: TObject);
const
BufferSize = 102400; // 100 KB
var
fStream: TFilestream;
stream:Tstream;
BytesReadCount: Integer;
Buffer: TBytes;
filename:string;
cs:TServerMethods1Client;
begin
if ListView1.ItemIndex=-1 then exit;
Image1.Picture.Graphic:=nil;
cs:=TServerMethods1Client.Create(dm1.SQLConnection1.DBXConnection);
filename:='C:\TEMP\TEMP.JPG';
if SysUtils.FileExists(FileName) then
fStream := TFilestream.Create(FileName, fmOpenWrite or fmShareDenyNone)
else fStream := TFilestream.Create(FileName, fmCreate);
stream:=cs.DownLoadFile(ClientDataSet2.FieldByName('存储目录').AsString+ListView1.Items[ListView1.ItemIndex].Caption);
try
SetLength(Buffer, BufferSize);
fStream.Position := 0;
repeat
BytesReadCount := stream.Read(Buffer[0], BufferSize);
if BytesReadCount > 0 then
fStream.Write(Buffer[0], BytesReadCount);
until BytesReadCount < BufferSize;
finally
//cs.Destroy;
//cs.Free;//这两条语句都提示invalid pointer 错误
fStream.Free;
stream.Free;
end;
end;