
Zitat von
invalid_operation:
r := GetLogicalDriveStrings(SizeOf(Drives), Drives);
Das hätte wohl
r := GetLogicalDriveStrings(Length(Drives)-1, Drives);
heißen sollen.
Laut
MSDN muß die Größe des Buffers in TCHARs angegeben werden, abzüglich dem abschließenden #0 Zeichen. Deine Anwendung könnte sonst, abhängig von Delphi Version, CPU und Betriebssystem, mit einer zufälligen DEP
exception crashen.