title: Deleting duplicates in Delphi listview
body: <p>I am trying to remove duplicates in my listview.</p>
  
  <p>This function:</p>
  
  <pre><code>procedure RemoveDuplicates(const LV:TbsSkinListView);
  var 
    i,j: Integer;
  begin   
    LV.Items.BeginUpdate;  
    LV.SortType := stText;   
    try
      for i := 0 to LV.Items.Count-1 do  
      begin
        for j:=i+1 to LV.Items.Count-1 do
        begin  
          if  SameText(LV.Items[i].SubItems[0], LV.Items[j].SubItems[0]) and
          SameText(LV.Items[i].SubItems[1], LV.Items[j].SubItems[1]) and
          SameText(LV.Items[i].SubItems[2], LV.Items[j].SubItems[2]) and
          SameText(LV.Items[i].SubItems[3], LV.Items[j].SubItems[3])  then     
          LV.Items.Delete(j);
        end;   
      end;   
    finally
      LV.SortType := stNone;
      LV.Items.EndUpdate;   
    end;
    ShowMessage('Deleted');    
  end;
  </code></pre>
  
  <p>does not delete the duplicates. What is wrong with it?</p>