Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi CopyFileEx (https://www.delphipraxis.net/127251-copyfileex.html)

RWarnecke 9. Jan 2009 22:07


CopyFileEx
 
Hallo zusammen,

ich benutze das folgendes Beispiel für ein Synchronisationstool. Gibt es hier irgendeine Beschränkung seitens der Pfadlänge ?

taaktaak 9. Jan 2009 22:08

Re: CopyFileEx
 
Delphi-Quellcode:
Source: String[255];
 Dest: String[255];
meinst du das?

DeddyH 9. Jan 2009 22:19

Re: CopyFileEx
 
Dafür gibt es doch die Konstante MAX_PATH, oder irre ich mich?

RWarnecke 9. Jan 2009 22:20

Re: CopyFileEx
 
Hallo Ralph,

jaein, da ich die 255 hinten weggelassen habe. Er hat mir Dateien bei einem ca. 240 Zeichen langen Pfad + Dateinamen nicht richtig kopiert. Dabei bin ich auf eine Gesamtlänge von mehr als 255 Zeichen gekommen. Die Dateien sind entweder garnicht vorhanden oder fehlerhaft. In dem Pfad sind auch mehrere Leerzeichen vorhanden und Umlaute. Habe ich da irgendwie eine Chance, dass ich diese Pfade trotzdem synchronisieren kann ?

jfheins 9. Jan 2009 22:24

Re: CopyFileEx
 
Um Max_Path zu umgehen:
Zitat:

lpExistingFileName [in]

The name of an existing file.

In the ANSI version of this function, the name is limited to MAX_PATH characters. To extend this limit to 32,767 wide characters, call the Unicode version of the function and prepend "\\?\" to the path. For more information, see Naming a File.
;)

taaktaak 9. Jan 2009 22:28

Re: CopyFileEx
 
naive Frage:
Ist das dann CopyFileExA oder CopyFileExW?

Apollonius 9. Jan 2009 22:30

Re: CopyFileEx
 
CopyFileExW: 'The Unicode version of this function'

RWarnecke 9. Jan 2009 22:33

Re: CopyFileEx
 
Heißt das jetzt soviel, dass es besser wäre über die 8.3 Konvention für das Synchronisieren zu gehen, oder einfach die Leerzeichen durch einen UNterstrich zu ersetzen ?

taaktaak 9. Jan 2009 22:36

Re: CopyFileEx
 
Danke!
übrigens: Lange Pfade sind noch immer problematisch. Wir hatten vor kurzem in der Firma erhebliche Schwierigkeiten damit. Angeblich sollen auch aktuelle AutoCad-Versionen nicht damit umgehen können. Wenn möglich, also sooo lange Pfade vermeiden.

jfheins 9. Jan 2009 22:37

Re: CopyFileEx
 
Das heißt erstmal, dass die Funktion, die du benutzt, nicht mehr als 255 Zeichen verarbeiten kann ;)

Wenn du die Unicode-Version verwendest, sollte es gehen - musste aber noch die Zeichenketten anpassen, damit das geht.

Leerzeichen und umlaute sollten (dann erst recht) kein Problem mehr darstellen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr.
Seite 1 von 2  1 2      

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