Hi!

Zitat von
himitsu:
Also entweder vor der Schleife ein SetLength einfügen,
SetLength(sBuffer, MAX_PATH);
Ok, das kam vom Copy&Paste. Ich wollte den Quellcode fürs Forum etwas kürzen, dabei ist das dann wohl
flöten gegangen
sDrive := 'A:'; sDrive[1] := #64;
Das ist nicht falsch, nur umständlich programmiert. Eigentlich hätte ich
sDrive := '@:' schreiben müssen. Schöner wäre
inc(sDrive[1]) vor
until gewesen, ich gebe es zu

...
function GetFullPathNameA(lpFileName: LPCTSTR; nBufferLength: DWORD; lpBuffer: LPTSTR; lpFilePart: LPTSTR): DWORD; stdcall; external 'kernel32.dll';
Diese Funktion hatte ich bei meiner Suche auch gefunden. Klappt nicht auf anderen Partitionen. Gibt man beispielsweise "device\harddiskvolume2\cmd.exe" (d:\cmd.exe) als ersten Parameter an, so liefert die Funktion stets das root-Verzeichnis, wie in der
MSDN beschrieben... In meinem Falle ist das "c:\". Trotzdem danke für den Hinweis.