Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
25. Feb 2011
Der Dateiname?
Also, der gesamte Pfad (Datei + Verzeichnis), ohne Laufwerk ( C:\ ) darf nicht länger als 256 Zeichen sein (inkl. der #0 oder war's ohne dieser :gruebel: ) ,
zumindestens ist das bei den standardmäßig vorhandenen FAT- und NTFS-Treibern so.
2.
Und was ist mit einem '\\.\' ?
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
25. Feb 2011
if (Length(sXYZ) >= MAX_PATH) and not StartsText('\\?\', sXYZ) then?
Sonst würdest du es auch anhängen, wenn es schon da ist.
Und vergißt bitte nicht, daß in MAX_PATH die abschließende #0 mitgezählt wird (drum >= ).
Und sicherheitshalber noch ein sXYZ := ExpandFileName(sXYZ); davor.
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
24. Feb 2011
Im Prinzip ja ... oder eben sDateiname := '\\?\' + sDateiname :gruebel:
PS: Wenn du nur Lesend auf Dateien zugreifen mußt oder wenn der Dateiname noch Kurz und nur der gesamte Pfad zu lang ist, dann kannst du auch die alten Kurznamen verwenden, welche oftmals noch vorhanden sind.
C:\Meine Programme\ein gaaaaaaaaaaaaaaaaaaaaaaaaaaanz lange Pfad\die liebe Datei.txt
C:\MEINEP~1\EINGAA~7\die...