我正在使用Delphi XE5,在iOS应用程序上工作。我在使用例如:
删除列表框中的所有项目时,遇到了在我的应用程序中发生的访问冲突ListBox1.beginUpdate;
ListBox1.items.clear;
// do work, to re-add new data to list box
...
Listbox1.endUpdate;
通常,上面的代码工作正常并且不会发生错误,事实上,当前所有项目都从该列表框中删除。除了 - 我收到访问冲突。与其他TListBox相比,这个TListBox的唯一区别是它有TListboxGroupHeaderItems。
我的解决方案一直是以下解决方案:
ListBox1.BeginUpdate;
p := Listbox1.Items.Count;
while p <> 0 do begin
ListBox1.Items.Delete(p-1)
p := p - 1;
end;
// Do Work, re-add new data, etc.
....
ListBox1.endUpdate;
任何人都知道清除所有项目的正确方法,包括来自TListbox的groupHeaders而不会触发访问冲突?或者我在做什么其他错误?
在调试器中运行时,它会在ListBox1.items.clear;
更新(2013年10月14日下午2:14): 在iOS 6设备/模拟器中工作时没有错误消息,但使用iOS7时确实发生错误
答案 0 :(得分:0)
我有一个类似的问题。我的解决方案如下:
for I := Listbox1.Count -1 downto 0 do
begin
Listbox1.RemoveObject(Listbox1.ListItems[i]);
end;