gpt4 book ai didi

Delphi:TAdoQuery 内存泄漏?

转载 作者:行者123 更新时间:2023-12-02 04:34:15 27 4
gpt4 key购买 nike

我正在使用 Delphi 5 和 ADO 开发一个小型糖尿病程序。我做了一个像这样的小查询:

function GetLowestGlucoseLevel(StartDate:string;EndDate:string): Integer;
var
Q:TADOQuery;
begin
try
Q:=TADOQuery.Create(Application); //Separate unit, owner set to App
Q.Connection:=dtMod.ADOCon;
Q.DisableControls;
Q.Close;
Q.SQL.Clear;
Q.SQL.Add('SELECT Min(qGlucose.Glucose) AS MinOfGlucose from qGlucose');
Q.Parameters[0].Value:=StartDate;
Q.Parameters[1].Value:=EndDate;
Q.Open;

Result:=Q.FieldByName('MinOfGlucose').AsInteger;

Q.Close;
finally
Q:=nil;
Q.Free;
end;
end;

查询运行正常并按预期返回结果。然而,当我检查Windows任务管理器时,查询后内存使用量不断上升而不是下降。

如何解决这个问题?

谢谢!

最佳答案

您首先将 TADOQuery 设置为 nil,然后对 nil 变量调用 Free(不执行任何操作),从而泄漏了 TADOQuery

关于Delphi:TAdoQuery 内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4033872/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com