JPG wird mit CopyFile fehlerhaft kopiert
Hallo,
ich möchte eine JPG-Datei kopieren:
Code:
Der Befehl liefert keinen Fehler zurück , die Zieldatei strFilenameJpg wird erstellt. Wenn ich die Datei aber öffnen möchte, erhalte ich den Fehler "Das Format der Datei '...' konnte nicht bestimmt werden". Ich habe die beiden Dateien auch schon mit einem HEX-Editor verglichen. Sie sind total unterschiedlich. Ich habe es auch schon mit den unterschiedlichsten Bildern probiert, das Ergebnis ist immer das Geliche: die Zeildatei wird nicht als Grafikdatei erkannt.
CopyFile(PChar(strSelectFile),PChar(strFilenameJpg))
Hat irgendjemand auch schon mal das Problem gehabt? Habt ihr eine Idee, waran es liegen kann? |
AW: JPG wird mit CopyFile fehlerhaft kopiert
Wie sieht es mit der Dateilänge aus?
Ist diese gleich? Hast du einen Virus, der sich an die Datei mit dranhängt? Wie sehen die ersten Bytes der jeweiligen Datei aus? Vielleicht kannst du diese mal anhängen. |
AW: JPG wird mit CopyFile fehlerhaft kopiert
Das ist aber nicht das "richtige" CopyFile aus der Windows.pas / WinApi.Windows.pas, denn bei dir fehlt der 3. Parameter.
Also wie sieht "dein" CopyFile aus? Was heißt "Der Befehl liefert keinen Fehler zurück"? Die (originale) WinAPI erzeugt keine Exceptions und gibt nur ein Result+GetLastError zurück (
Delphi-Quellcode:
).
if not CopyFile(...) then RaiseLastOSError;
Und von wo nach wo kopierst du? * intern auf einer Festplatte, innerhalb einer Partition * auf einen USB-Datenträger * Netzlaufwerk * ... Was passiert, wenn du diese Datei mit dem Explorer kopierst? |
AW: JPG wird mit CopyFile fehlerhaft kopiert
Die komplette Code-Zeile lautet:
Code:
Kopiert wird auf ein und derselben Festplatte und er gleichen Partition. Die Originaldatei hat eine Größe von 22kB, die "erzeugte" Datei ist 230kNB groß. Beim Kopieren mit dem Explorer funktioniert es einwandfrei.
if CopyFile(PChar(strSelectFile),PChar(strFilenameJpg)) then
Der Befehl
Code:
geht fehlerfrei durch - aber die Zieldatei ist korrupt.
if not CopyFile(PChar(strSelectFile),PChar(strFilenameJpg)) then RaiseLastOSError;
Anfang der Originaldatei: 00000000h: FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 00 00 ; ÿØÿà..JFIF......Anfang der kopierten Datei: 00000000h: D0 CF 11 E0 A1 B1 1A E1 00 00 00 00 00 00 00 00 ; ÐÏ.ࡱ.á........ |
AW: JPG wird mit CopyFile fehlerhaft kopiert
Hallo ThomasWB...:P
Sei so nett und hänge deine Delphi Version an dein Profil dran. Das macht manchmal Sinn... :zwinker: |
AW: JPG wird mit CopyFile fehlerhaft kopiert
Manchmal sieht man den Wald vor lauter Bäumen nicht.
Die Signatur der Kopie sieht nach einem Office(o.ä) Dokument aus. Bist Du sicher, dass die Stringvariablen den von Dir vorgesehenen Inhalt haben? |
AW: JPG wird mit CopyFile fehlerhaft kopiert
Zitat:
Delphi-Quellcode:
function CopyFile(lpExistingFileName, lpNewFileName: LPCWSTR; bFailIfExists: BOOL): BOOL; stdcall;
Welches CopyFile wird da aufgerufen? |
AW: JPG wird mit CopyFile fehlerhaft kopiert
@dummzeuch: Es wird das CopyFile von JvWinDialogs verwendet.
@Mikkey: Mit dem "den Wald vor lauter Bäumen nicht sehen" hattest du vollkommen recht. Ich hätte Stein und Bein geschworen, dass ich die Stringvariablen überprüft hatte. Wahrscheinlich war es dies auch zu Beginn. Dann habe ich den Dialog, mit dem ich strSelectFile auswähle, geändert und bei der Zuweisung zu der Variablen den Namen der alten Dialogkomponente verwendet. Dies habe ich nun korrigiert - und es funktioniert alles fehlerfrei. Danke euch allen für eure Hilfe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 Uhr. |
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