Ich habe nun deinen Fehler gefunden:
Delphi-Quellcode:
for j := 0 to de.NumberOfDiskExtents-1 do
begin
FDiskNumbers[j] := de.extents[j].DiskNumber;
end;
Du wolltest wohl
FDiskNumbers[i] schreiben. Denn so wie du es hast, ersetzt du immer nur FDiskNumbers[0] bei NumberOfDiskExtents=1.