Benutzer mit den meisten Antworten
[Delphi 2006] Problem beim Kopieren von Dateien mit SHFileOperation

Frage
-
Hallo,
ich habe ein Problem mit SHFileOperation. Sobald der Dateiname eine gewisse Länge überschreitet, bekomme ich den Fehlercode 123 (Datei- oder Verzeichnisname zu lang) zurück geliefert.
Ich habe schon versucht, das Problem durch voranstellen von '\\?\' zu lösen, jedoch nur mit dem Erfolg, das der Fehlercode danach 124 ist.
Gibt es andere Möglichkeiten, SHFileOperation dazu zu "überreden", diese Dateien zu kopieren?
- Verschoben Robert BreitenhoferModerator Freitag, 25. Februar 2011 17:00 Delphi (aus:Windows 7)
- Bearbeitet Robert BreitenhoferModerator Freitag, 25. Februar 2011 17:00 Titel ergaenzt
Antworten
-
Hallo Hallo OstfrieseInFranken,
Kennst Du die folgenden Artikel?
SHFileOperation: Wie Dateien mit sehr langem Dateinamen kopieren?
Ich habe diesen Diskussionsfaden im Off-Topic Forum verschoben weil Delphi nicht Microsoft ist und weil wir uns hier in einem Software-Entwickler-Forum von MSDN Online, dem Microsoft Developer Network, befinden.
Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
Grüße,
Robert
- Als Antwort vorgeschlagen Andre.Ziegler Freitag, 25. Februar 2011 21:14
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 2. März 2011 07:53
Alle Antworten
-
Hallo OstfrieseInFranken,
Welches Betriebssystem hast Du? Mit welcher Entwicklersprache wurde die Anwendung erstellt?
Welchen Error Code von der folgenden Liste bekommst Du? SHFileOperation Function
Relevanter Code zu posten wäre auch nicht schlecht oder eine .Zip Datei mit den Code (falls der Code zu groß ist) kann man ihm Public Ordner von SkyDrive laden und den link hier Posten. (Wie nutze ich den SkyDrive?)
Lies bitte auch folgendes: Common Questions Concerning the SHFileOperation API: Part 1
Grüße,
Robert
-
Das Betriebssystem auf dem ich entwickle, ist Windows 7 Business, das OS des Kunden, auf dem der Fehler auftritt ist Windows 2003 Server.
Der Fehlercode ist 123 (ich bekomme von Delphi nur Ganzzahlen als Fehlercode), die Fehlermeldung lautet: "Der Dateiname oder die Erweiterung ist zu lang"
Entwickeln tu ich mit Delphi 2006.
-
Die Delphi-Funktion zum Kopieren der Dateien sieht so aus:
function ShellFileCopy(const aSource, aDest: string): Integer;
var
SH: TSHFileOpStruct;
begin
ZeroMemory(@SH, SizeOf(SH));try
with SH do
begin
Wnd := 0;
wFunc := FO_COPY;
pFrom := PChar(aSource + #0);
pTo := PChar(aDest + #0);
fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR or
FOF_SILENT;
end;Result := SHFileOperation(SH);
finally
ZeroMemory(@SH, SizeOf(SH));
end;
end; -
Hallo Hallo OstfrieseInFranken,
Kennst Du die folgenden Artikel?
SHFileOperation: Wie Dateien mit sehr langem Dateinamen kopieren?
Ich habe diesen Diskussionsfaden im Off-Topic Forum verschoben weil Delphi nicht Microsoft ist und weil wir uns hier in einem Software-Entwickler-Forum von MSDN Online, dem Microsoft Developer Network, befinden.
Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
Grüße,
Robert
- Als Antwort vorgeschlagen Andre.Ziegler Freitag, 25. Februar 2011 21:14
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 2. März 2011 07:53