这个函数放在公共模块,可以正常调用,但要注释//myList.Free;
那myList该怎么释放?function AddStrList(ADOQry: TADOQuery; fd, tb: string): TStringList;
var
myList: TStringList;
I, j: integer;
begin
myList := TStringList.Create;
try
OpenQuerySort(ADOQry, fd, tb);
j := ADOQry.RecordCount;
for I := 0 to j - 1 do
begin
myList.Add(ADOQry.FieldValues[fd]);
ADOQry.Next;
end;
Result := myList;
finally
//myList.Free;
end;
end;
那myList该怎么释放?function AddStrList(ADOQry: TADOQuery; fd, tb: string): TStringList;
var
myList: TStringList;
I, j: integer;
begin
myList := TStringList.Create;
try
OpenQuerySort(ADOQry, fd, tb);
j := ADOQry.RecordCount;
for I := 0 to j - 1 do
begin
myList.Add(ADOQry.FieldValues[fd]);
ADOQry.Next;
end;
Result := myList;
finally
//myList.Free;
end;
end;
begin
Result.Clear;
OpenQuerySort(ADOQry, fd, tb);
while not ADOQry.Eof do begin
Result.Add(ADOQry.FieldValues[fd]);
ADOQry.Next;
end;
end; //调用
var
myList: TStringList;
begin
MyList := TStringList.Create;
MyList := ADDStrList(ADOQry, FieldName, TableName);
.......
FreeAndNil(MyList);
end;
end;