ここで何が起こりますか?
プロシージャが終了して範囲外になったとき、オブジェクトは有効なままですか? 未割り当てのままになりますか、それともまだ参照できますか?
ユーザーが自分のコントロールにアイテムを追加することを決定するたびに、そのようなアイテムを追加する必要があります。また、ユーザーのアクティビティを作成してクラスのオブジェクトを追加する必要があります。アプリでさらに使用するためにこれらのオブジェクトを処理する必要がある場合、それらはスコープ内にとどまりますか、それともアクセス可能になりますか? または、それらの参照が失われますか?
procedure TForm1.Button1Click(Sender: TObject);
var
LMyCustomObj : TMyCustomObject;
begin
LMyCustomObj := TMyCustomObject.Create;
ListBox1.Items.AddObject('1', LMyCustomObj);
end;
さらに追加すると
LMyCustomObj.Free;
私の関数では、コントロールのコレクションからも削除されますか、それともメモリ リークが発生しますか?