OK die Fehlermeldung ist weg, aber jetzt wird auch nichts mehr gelöscht.
Das würde bedeuten, das dein Index nicht in den richtigen Grenzen liegt.
Kein Wunder:
I
wird nie initialisiert, kann also jeden beliebigen Wert haben.
Welchen Eintrag willst du denn löschen?
und eventl. den Index überprüfen
Dann aber lieber mit
Exception oder zumindest Assert.
Sonst passiert genau das, was eben passiert ist: Nichts geht mehr und keiner weiß warum.
EDIT: Glaskugel an!
Delphi-Quellcode:
procedure TForm12.RbButton4Click(Sender: TObject);
var
i: Integer;
begin
for i := ListBox1.Items.Count - 1 downto 0 do
if ListBox1.Selected[i] then
ListBox1.Items.Delete(i);
end;