난 그냥 내 응용 프로그램에서 함수를 만드는 방법에 대해 해요 델파이에 문제가있는이 기능은 문제가 내가 무료로 할 수없는 것입니다이메모리 누수가
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;
같다 나는 메모리 누수의 문제와 2 ~ 3 분 후에 후 응용 프로그램 중지를 가질 수에 대한 함수의 밖으로 측면에서 TMyquery
.... 나는 함수 내부의 TMyquery
객체를 해제 할 경우
하지만, 그때 내가 할 수있는 ' 함수 호출 외부에서 함수 결과를 얻지 않습니다.
내가 할 거라고 .... 반환이 경우 메모리 관리자는이라는 이름의 변수를 어떤 메모리 누수를 해결할 수 Fields를 사용하여 누구든지 쿼리를 생성하고 해제하십시오. –
필드는 쿼리와 관련이 있으므로 쿼리를 해제하고 필드를 사용할 수 없습니다. – Oussaki
Sertac은 호출자가 쿼리를 만든 다음 쿼리 개체를 전달하는 함수를 호출 함을 의미합니다. 그런 다음 양식을 기능화하고 조회를 실행하여 리턴합니다. 그런 다음 호출자가 필드를 들립니다. 마지막으로 호출자가 쿼리를 삭제합니다. –