我写的程序如下,运行时出现异常,不知什么原因,请高手赐教
procedure TForm1.BtnDeleteClick(Sender: TObject);
var
  ln:integer;
begin
  listview1.DeleteSelected;
  Label8.Caption:=inttostr(ln);
  if listview1.Items.Count>=ln then
  begin
    ListView1.Selected := ListView1.Items.Item[ln];  
    ListView1.Selected.Selected :=TRUE;   
    ListView1.Selected.MakeVisible(True);
  end; 
end;

解决方案 »

  1.   

    //参考如下代码~~
    var
      ln: Integer;
    begin
      if not Assigned(listView1.Selected) then Exit;
      ln := listView1.Selected.Index;
      listView1.DeleteSelected;
      if ln >= listView1.Items.Count - 1 then
        ln := listView1.Items.Count - 1;
      if ln < 0 then Exit;
      listView1.Selected := listView1.Items.Item[ln];
      listView1.Selected.MakeVisible(True);
    end;
      

  2.   

    ListView1.Items.Delete(ListView1.ItemIndex);
      

  3.   

    谢谢 zswangII(伴水清清)(职业清洁工) 的帮忙