Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Verzeichnis kopieren mit ShlFile... Lange Dateinamen? (https://www.delphipraxis.net/67024-verzeichnis-kopieren-mit-shlfile-lange-dateinamen.html)

simlei 8. Apr 2006 06:56


Verzeichnis kopieren mit ShlFile... Lange Dateinamen?
 
Hallo!

Im Forum hatte ich diese Funktion gefunden und sie schien auch erst zu funktionieren; aber dann meldete sie sch immer, wenn eine Datei mit "zu langem Dateinamen" kopiert werden sollte. Wie kann man auch lange Dateinamen ermöglichen?

Delphi-Quellcode:
function CopyDir(const fromDir, toDir: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc := FO_COPY;
    fFlags := FOF_FILESONLY;
    pFrom := PChar(fromDir + #0);
    pTo   := PChar(toDir)
  end;
  Result := (0 = ShFileOperation(fos));
end;

himitsu 8. Apr 2006 08:56

Re: Verzeichnis kopieren mit ShlFile... Lange Dateinamen?
 
Dieses arbeitet mit langen und kurzen (8.3) Dateinamen.

Wie hast die den Dateinamen angegeben?
- also relativen pfad, oder absolut (was glaub ich auch nötig ist)
- wie lang ist der Dateiname (der absolute Pfad darf nur MAX_PATH=260, 259 Zeichen lang sein)
...

simlei 8. Apr 2006 09:04

Re: Verzeichnis kopieren mit ShlFile... Lange Dateinamen?
 
ja der Pfad muss absolut angegeben werden; Um die Pfadlänge gehts auch erstmal nicht, das Problem ist halt, dass auch dateien mit langen dateinamen kopiert werden...

himitsu 12. Mai 2006 10:44

Re: Verzeichnis kopieren mit ShlFile... Lange Dateinamen?
 
Was siehst du denn eigentlich als "zu langem Dateinamen" an?
Weil eigentlich sollte es keine Probleme geben, wenn der Gesamtpfad nicht zu lang ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz