Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Betriebssystem Exception bei Datei Kopierfehler (https://www.delphipraxis.net/30813-betriebssystem-exception-bei-datei-kopierfehler.html)

Gambit 29. Sep 2004 17:46


Betriebssystem Exception bei Datei Kopierfehler
 
Hallo,
weiß jemand welche Exception ausgelöst wird, wenn eine Datei nicht kopiert werden kann, weil sie nicht da ist bzw. der Quelldatenträger nicht erreichbar ist? Ich möchte die Windows Fehlermeldung durch eine eigene ersetzen und dazu kann ich doch in den Debugger Optionen festlegen, ob die Exception von der Anwendung oder dem Debugger gehandlet werden soll. Ich weiß nur nicht, welche der aufgeführten Exceptions die richtige ist...

Gruß

Gambit

Luckie 29. Sep 2004 19:34

Re: Betriebssystem Exception bei Datei Kopierfehler
 
API Funktionen lösen in der Regel keine Exception aus, sondern geben einen Fehlercode zurück bzw. setzen den letzten Systemfhelr für den Prozess, den man mit MSDN-Library durchsuchenGetLastError abfragen kann.

Welche Fehler / Exceptions meinst du denn jetzt? Die I/O Fehler die man in der Delphi Hilfe unter dem Stichwort I/O errors findet? Die werden von den alten Pascal Routinen ausgelöst und die kann man abfangen, in dem man das Input/Output Checkimg mit dem Compilerschalter {$I} abschaltet und den Wert der Varaiablen Delphi-Referenz durchsuchenIOResult abfragt.

Gambit 29. Sep 2004 21:18

Re: Betriebssystem Exception bei Datei Kopierfehler
 
Ich benutze zum Kopieren von Dateien aus den Jedi Komponenten die Klasse TJvSHFileOperation, die wohl die API Funktion SHFileOperation kapselt. Wenn die Datei nun nicht kopiert werden kann(weil zB. der Zielrechner nicht erreichbar ist), bekomme ich von Windows eine Fehlermeldung, die aber nicht so sehr aussagekräftig ist. Ich dachte, man könnte die durch eine eigene ersetzen indem ich die Methode JvSHFileOperation.Execute in einen Try-Except Block packe. Aber das geht dann wohl nicht...
Ich hatte in den Debugger-Optionen die BS-Exeptions gefunden und geglaubt, die Fehlermeldung würde durch eine Betriebssystem-Exception ausgelöst, die ich selber handlen kann...

Gruß

Gambit

Luckie 29. Sep 2004 21:27

Re: Betriebssystem Exception bei Datei Kopierfehler
 
Tja. Dann kuck mal in der Code-Lib nach ShfileoperationShfileoperation und pass sie deinen Bedürfnissen an.

Remote1 29. Sep 2004 21:57

Re: Betriebssystem Exception bei Datei Kopierfehler
 
Delphi-Quellcode:
showmessage(SysErrorMessage(GetLastError));


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:56 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