如题,
delphi datasnap三层,服务器端 fdconnection+fdquery, +mysql 使用 getdata函数根据sql语句查询数据表并且返回stream给客户端,
客户端 使用sqlconnection+dsproviderconnection链接,如果取得的stream超过32kb(32768)的话,会显示 stream.size=-1,并且 fdmemtable不能读取流。
procedure TMainForm.Button1Click(Sender: TObject);
var
getStream:Tstream;
begin
if clientmodule1=nil then
clientmodule1:=tclientmodule1.Create(self);
//getstream:=tmemorystream.Create;
getstream:=clientmodule1.ServerMethods1Client.GetData(self.Edit1.Text);
showmessage('now size '+getstream.Size.ToString);//超过32kb就显示-1,并且显示错误
//[firedac][stan]-712. cannot read [manager] object.
getstream.Position:=0;
// self.cds1.LoadFromStream(getstream);
self.FDMemTable1.LoadFromStream(getstream,sfbinary);
end;
只有stream小于32kb才能正常显示。
欢迎留言指教。