Zum Einen sollte man dynamisch erzeugte Objekte immer in try-finally einbetten, um Speicherlecks zu vermeiden.
Delphi-Quellcode:
Bla := TBla.Create;
try
//Mach was mit Bla
finally
Bla.Free;
end;
Dann greifst Du auf Elemente der Arrays(?) arr1 und arr2 zu, ohne vorher zu prüfen, ob diese überhaupt befüllt sind. Ansonsten zeig uns doch einmal, in welcher Zeile die
Exception auftritt.