我每次在listview添加item都是这么作:
ListItem := ListView1.Items.Insert(0);
ListItem.Caption:='str1';
ListItem.SubItems.Add('str2');对listview排序是这样做的:
procedure TForm1.ListView1ColumnClick(Sender: TObject;
  Column: TListColumn);
begin
  ColumnToSort := Column.Index;
  (Sender as TCustomListView).AlphaSort;
end;procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
  Data: Integer; var Compare: Integer);
var
  ix: Integer;
begin
  if ColumnToSort = 0 then
        Compare := CompareText(Item1.Caption,Item2.Caption)
      else
        begin
          ix := ColumnToSort - 1;
          Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
        end;
end可是当排序后重新插入新的item就会出错越界出错,但也能插入新的item,
我想使在插入新的item时屏蔽掉该错误,怎么解决,或者还有别的彻底解决的办法不会出错,请高手帮忙。