Einzelnen Beitrag anzeigen

Phaeraun

Registriert seit: 23. Jul 2013
Ort: Neumünster
13 Beiträge
 
#10

AW: Problem mit der Maximalen Pfadlänge und dem Kopieren von Dateien

  Alt 26. Feb 2014, 10:58
Ich hab das Problem mit den Pfadlängen doch lösen können und zwar mithilfe der API Funktion copyfileW() und dem prefix '\\?\'.
Hiermit ist es nähmlich möglich wesentlich längere Pfade zu nutzen.

Delphi-Quellcode:
function TForm1.CopyFileEx( ASource:String ; ADest: string; ARenameCheck: boolean = false): boolean;
const
  PathPrefix = '\\?\';
var
  error : Cardinal;
  pQuelle : WideString;
  pZiel: Widestring;

  wideChars1 : array[0..399] of WideChar;
  wideChars2 : array[0..399] of WideChar;
begin
  // String muss mit #0#0 terminiert werden, um das Listenende zu setzen
  pQuelle := PathPrefix +ASource + #0#0;
  pZiel := PathPrefix +ADest +#0#0;
  setLastError(0);
  Result:= CopyFileW(PWideChar(pQuelle),PWideChar(pZiel),false);
  error := GetLastError;
end;
  Mit Zitat antworten Zitat