デルファイの関数/手順から単純なオブジェクトを返すためのベストプラクティスは何ですか?
例えば。2種類のコード:
作成したオブジェクトを参照として渡し、Proc にオブジェクトを移入し、後で破棄します
procedure Proc(var Obj: TMyObject);
begin
// populate Obj
end;
O := TMyObject.Create;
try
Proc(O);
// manipulate populated object
finally
O.Free;
end;
または 、関数の結果として作成されたオブジェクトを取得し、操作後に破棄します
function Func: TMyObj;
begin
Result := TMyObj.Create;
end;
O := Func;
if O <> nil then
begin
try
// manipulate
finally
O.Free;
end;
end;