パラメータを介してオブジェクトのリストを「フォーム2」に送信する「フォーム1」があります。しかし、Delphi はリストを参照として送信するため、「フォーム 1」のリストをクローズすると「フォーム 2」でエラーが発生します。
サンプルとして:
フォーム1:
var list: TObjectList<TPerson>;
begin
list := TObjectList<TPerson>.Create();
Try
list.Add(TPerson.Create('JOHN', 29));
list.Add(TPerson.Create('MARK', 27));
Form2.getList(list);
Finally
FreeAndNil(list);
End;
問題は、「フォーム 1」のリストを解放した後、解放されたオブジェクトを参照することです。
質問は:
リストを参照ではなくコピーとして「フォーム 2」に送信するにはどうすればよいですか?
ありがとう!