我在将进程从 XE8 迁移到柏林 10.1 时遇到问题。
在 XE8 上,它工作正常。
在柏林,我收到"加载位图失败"错误。
我有一个使用此方法的DataSnap REST服务器:
function TSM.Downloafile(): TStream;
var
s: TFileStream;
begin
s := TFileStream.Create('C:image1.jpg', fmOpenReadWrite);
Result := s;
end;
在 XE8 上,我得到了很好的流,我可以在浏览器中使用 URL 查看图像,例如:
http://localhost:105/datasnap/rest/TSM/Downloafile
在柏林,当我尝试显示图像时,我得到的是这个字符串:
[122,216,255,244,0,15,......]
然后位图加载失败。
我已经在URL中使用?json=false解决了这种情况,谢谢
当你说DataSnap REST服务器时,我猜是TSM。Downloafile(): TStream;不是从主线程调用的。位图不是多线程,只能从主线程使用