マスターの家出先で聞いたほうがいいような気もしますが。
Button2ClickでDataList.Delete(i)を呼んでいますが、これだけでは
DataList.Items[i]のポインタが削除されるだけでインスタンスが
orphanになってしまいます。
procedure TForm1.Button2Click(Sender: TObject);
var
i : Integer;
ListItem: TplDataListItem;
begin
for i := DataList.Count - 1 downto 0 do begin
if DataList[i].Checked then
begin
ListItem := DataList.Items[i];
DataList.Delete(i);
ListItem.Free; // TplDataListItemのインスタンスを解放
end;
end;
ListView1.Items.Count := DataList.Count;
//ListViewの表示更新(OnDataまたはOnDataHintイベントが発生する)
ListView1.Refresh;
end;
のようにするか、TplDataListの継承元をTObjectListにして、
コンストラクタのパラメータをTrueにするといいと思います。
# コードが動くかどうか試していないのではずしていたらすいません。
|