Wie kann
die Laufwerksnummer der Laufwerksbuchstabe ungültig sein, wenn es doch vorhanden sein soll?
Wenn es nicht da ist, dann stimmt die Rückgabe ja.
Natürlich kann man auch direkt
GetDiskFreeSpaceEx benutzen, aber von der Rückgabe her macht es keinen Unterschied.
ABER:
Ich denke eher mal deine Schleife ist falsch.
Nicht von Low to High, sondern nur durch das, was in dem Set drin steckt.
Und hier stimmt der Index
i des Arrays nunmal garnicht mit dem Laufwerksindize überein.
* Entweder du nimmst dir den Laufwerksburchstaben und rechnest ihn in einen Index um (
Ord(Result[i][1]) - Ord('A')
)
* oder du nimmst eine Funktion, welcher du direkt das laufwerk geben kannst, z.B.
GetDiskFreeSpaceEx (allerdings ohne den
\
, wenn ich mich richtig erinnere)