Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   FileExist Exception (https://www.delphipraxis.net/205337-fileexist-exception.html)

akuk 29. Aug 2020 18:44

FileExist Exception
 
Hallo
Zitat aus Ebarcadero / Delphi :

"Mit der folgenden Anweisung können Sie den Aufwand der Exception-Behandlung vermeiden:
if FileExists(FileName) then
// Gibt False zurück,
wenn die Datei nicht gefunden wird;
löst keine Exception aus"


Aber wenn File nicht vorhanden ist wird genau eine Exception ausgleöst trotz der Behauptung
von Ebarcadero.
Eine Exception Behandlung wie "try except" usw. möchte ich vermeiden.
Kann man es vielleicht irgenwie im Compiler abschalten ?

hoika 30. Aug 2020 05:53

AW: FileExist Exception
 
Hallo,
welche Exception wird den ausgelöst?

jaenicke 30. Aug 2020 06:05

AW: FileExist Exception
 
Bist du sicher, dass du eine Exception meinst? Oder wird vielleicht nur eine Fehlermeldung angezeigt?

Denn um das zu vermeiden kann man SetErrorMode mit SEM_FAILCRITICALERRORS aufrufen. Es wird empfohlen, dass alle Anwendungen dies beim Start machen.

himitsu 30. Aug 2020 10:42

AW: FileExist Exception
 
Dann mußt es aber an einer anderen Stelle etwas gewaltig schief laufen.

Jemand hat die uralte MSDN-Library durchsuchenOpenFile-API benutzt, obwohl sie schon lange nicht mehr genutzt werden soll,
und jemand will, dass dort ein Dialog kommt, denn sonst hätte er OF_PROMPT nicht angegeben.

Delphi.Narium 30. Aug 2020 12:23

AW: FileExist Exception
 
Im Zusammenhang mit FileExists hab' ich noch nie 'ne Exception gesehen.

Zeig' mal den Quellcode der gesamten Routine, in der das FileExists 'ne Exception wirft.

Ohne genauere Info sind alle Hinweise / Ideen zur Fehlersuche nur Spekulation.

scrat1979 30. Aug 2020 15:21

AW: FileExist Exception
 
Bei mir arbeitet

Delphi-Quellcode:
If FileExists(Dateiname) then ...
einwandfrei und gibt den entsprechenden Wert (true/false) korrekt zurück. Eine Exception ist mit dabei noch nie untergekommen.

himitsu 30. Aug 2020 15:29

AW: FileExist Exception
 
FileExists verwendet oft zuerst ein CreateFile (OpenFile) zum "schnellen" Prüfen und falls sich die Datei nicht öffnen lässt, dann FindFirstFile
und eventuell werden auch noch FileLinks aufgelöst.

Je nach Implementation mit weiteren Extras/Optimierungen.

Einzig bei zu sehr ungültigen Pfaden/Zeigern kommt mal eine Exception (dann hat man aber exrtrem viel falsch gemacht),
aber ja, im Normalfall kommt keine Exception, so lange man nicht z.B. an der Fehlerbehandlung rumgepfuscht hat.


PS: Delphi-Referenz durchsuchenTFile.Exists, Delphi-Referenz durchsuchenTDirectory.Exists und Delphi-Referenz durchsuchenLocaleFileExists, aber das geht alles intern auf das altbekannte Delphi-Referenz durchsuchenFileExists.

akuk 31. Aug 2020 07:18

AW: FileExist Exception
 
Hallo
Vielen Dank für die vielen Antworten, es ist schon richtig das FileExist keine exception
auslösen darf !
Mein Fehler, ich habe der Test von "fname" gemacht nach dem
"assign(DXFDatei,fname);" und "reset(DXFDatei);".
Dies war einige Seiten weiter vorne und löste die Exception aus, nicht das FileExist
Ausserdem gibt es ein Switch in den Optionen "Datei nicht gefunden".


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