独自のオブジェクトクラスを作成し、TObjectListに追加していっているのですが
複数個の追加がうまくいきません。
NewData: NewObject //Form1のCreateで作成、Destroyで開放
List: TObjectList;
procedure Form1.AddDataClick(Sender: TObject);
begin
with NewData do
begin
Title := 指定した値;
Text := 指定した値;
end;
List.Add(NewData);
end;
このようにプログラムして、実行するたびにListに新しいデータが追加されていくのを期待していたのですが
いくつデータを追加していっても、List内のどのデータもすべて同じメモリを参照してるようです。
どのようにプログラムすればそれぞれのデータが独自の値を保持できるようになるのでしょうか。
> NewData: NewObject //Form1のCreateで作成、Destroyで開放
?
List: TObjectList;
procedure TForm1.AddDataClick(Sender: TObject);
var
NewData: NewObject;
begin
NewData := NewObject.Create;
with NewData do
begin
Title := 指定した値;
Text := 指定した値;
end;
List.Add(NewData);
end;
ありがとうございます、解決しました。
TObjectListは自動でオブジェクトを開放してくれるんですね。
ツイート | ![]() |