Das liegt daran, das Deine ListBox1 auch leer ist! Dabei darfst Du Dich nicht von der Anzeige täuschen lassen...
Delphi-Quellcode:
procedure TForm1.RandomizeArrays;
var i:integer;
begin
randomize;
Listbox1.Clear;
for i:= 0 to (400-1) do
begin
Listbox1.items[i]:= DatetoStr(Random(42000)); // Riesen Fehler
end;
Label1.Caption:= inttostr(i)+' '+'Zufallsdatums erzeugt!';
end;
Du beschreibst Listbox Items, die gar nicht da sind (keine Ahnung warum da noch nicht der Fehler kommt). Damit bleibt ListBox1.Items.Count auch auf -1, was später zum Fehler führt.
Bau Deine Zufalls-Liste so auf
Listbox1.items.add(DatetoStr(Random(42000)));
€: das wäre dann auch die Stelle, wo Dein Code von toms Beispiel abweicht