for i:=0 to Listview1.Items.Count-1 do
  begin
    ListView1.Items.Delete(i);
  end;
会出错应该用
for i := Listview1.Items.Count - 1 downto 0 do
begin
  ListView1.Items.Delete(i);
end;