我只是用Delphi一個問題,我是如何創建我的應用程序的函數,這個函數是這樣內存泄漏從函數返回時中tfields
function Get_Foundation_infos(): TFields;
begin
with TMyQuery.Create(nil) do
begin
try
Connection := DataBaseForm.DataBaseForm1.DataBase;
SQL.Add('SELECT * FROM `foundation_infos` WHERE `Id`=1');
Execute;
Result := Fields;
except
on E: Exception do
Result := nil;
end;
end;
end;
問題是我不能免費TMyquery
從功能的外側,我有一個內存泄漏的問題,並在2或3分鐘後的應用程序停止....
但如果我免費TMyquery
對象裏面的函數,那麼我可以' t從函數調用的外部獲取函數結果。
我讓無論使用字段創建並釋放查詢。 –
字段與Query相關,因爲您無法釋放查詢並使用字段。 – Oussaki
Sertac表示調用者創建查詢,然後調用傳遞查詢對象的函數。然後你運行窗體並執行查詢並返回。然後來電者在田野上探出頭來。最後,調用者銷燬查詢。 –