【发布时间】:2020-03-16 22:02:47
【问题描述】:
在 Delphi XE10 Datasnap REST 项目中使用 TFDJSONDataSets 将数据集传输到客户端。
生命周期:服务器
问题是:每次调用的服务器内存使用量都会增加,我没有找到释放数据集内存内存的解决方案。
例子:
服务器端:
function TServerMethods1.GetSomeDataSet: TFDJSONDataSets;
var mt: TFDMemTable;
begin
mt:= TFDMemTable.Create(nil);
result:= TFDJSONDataSets.Create;
//load mt data...
TFDJSONDataSetsWriter.ListAdd(result, mt);
end;
客户端
function TClientModule1.GetSomeDataSet: TFDMemTable;
var ds: TFDJSONDataSets;
begin
result:= TFDMemTable.Create(nil);
ds:= ServerMethodsClient.GetSomeDataSet();
result.AppendData(TFDJSONDataSetsReader.GetListValue(ds, 0));
result.Open;
end;
每次调用 TServerMethods1.GetSomeDataSet 都会增加 App Server 的内存使用量。修复它的正确方法是什么?
谢谢
【问题讨论】:
标签: rest memory-leaks delphi-xe datasnap