Similar code:
var
i: Integer;
begin
for i := 0 to listbox1.Items.Count - 1 do
if listbox1.Selected[i] then
debugln('Selected[',dbgs(i),'] = True, Value = ',Listbox1.Items[i])
else
debugln('Selected[',dbgs(i),'] = False, Value = ',Listbox1.Items[i]);
end;
runs perfectly fine here.
Q: Is list assigned (created) when you pass it to the procedure?
Bart