Fehler bei der Verwendung von CopyFile-Funktion

Hallo, ich bin mit der CopyFile Funktion in Delphi 5. Aber die Datei wird nicht immer kopiert zum Ziel. Ich bin nicht in der Lage, um zu sehen, Fehler auch. Was ist der beste Weg, zu wissen, warum CopyFile ausfällt?

if CopyFile(source, dest, false) then
  ShowMessage('Success')
else
  ShowMessage('Error');

Ich bin immer angezeigt Fehler immer auf. 🙁

Sie sollten die Verwendung von pchar (CopyFile(pchar(sourcefile), pchar(destfile), false). Um zu überprüfen, ob die Datei kopiert, verwenden Sie FileExists(destfile).. Sie können wickeln Sie Ihre CopyFile in einen try/except und reagieren auf die Ausnahme...
Das ist alles wahr, aber hilft nicht, um den Fehlercode zu identifizieren.
Primären ausfallarten: 1. Quelle nicht vorhanden ist 2. Ziel-Pfad nicht vorhanden ist 3. Dest-Datei Lesen nur 4. - Berechtigungen Fehler.
Zum Beispiel versuchen, eine Datei ersetzen, die derzeit geöffnet ist (also gesperrt)
Diese Frage wurde über die D5/7 (pre-Unicode), wo die Parameter sind PChar (gleiche wie PAnsiChar), und CopyFile ist eigentlich CopyFileA unter der Haube. Egal, aber in D2010, string ist Unicode und Delphi wird immer noch automatisch umwandeln, wenn möglich ohne die Typumwandlung, wie oben; in D2010, CopyFile ist eigentlich CopyFileW für die wide-string-version. Die auto-Konvertierung Delphi tut, ist ähnlich zu der Weise, die es Ihnen erlaubt, um die drop ^ operator beim Zugriff auf Klassen-Instanzen (die Zeiger) oder Datensätze wie TPoint verwenden, so können Sie Form1. statt Form1^.

InformationsquelleAutor Nalu | 2012-08-09

Schreibe einen Kommentar