Einzelnen Beitrag anzeigen

Ares

Registriert seit: 5. Dez 2002
269 Beiträge
 
#1

Zugriff auf Ordner oder Datei nicht möglich - Wie den Grund ermitteln?

  Alt 13. Okt 2010, 09:11
Hallo!

Greift ein Programm auf Dateien oder Ordner zu, die für den aktuellen Nutzer nicht freigegeben sind kommt es zu einer EFOpenError Exception:

Code:
stream := TFileStream.Create('C:\SomeFile.abc', fmOpenRead or fmShareDenyNone);
Leider kann ich aus der Exception nicht den Grund für den Fehler erkennen. Es kann wie beschrieben an fehlenden Zugriffsrechten liegen, genauso gut könnte es aber auch sein, dass die Datei bereits geöffnet ist und kein weiterer Zugriff erlaubt ist.

Der Message-Text der Exception gibt zwar genauere Auskunft, aber das ist keine verlässliche Methode. Unter anderen Windows Versionen lautet die Nachricht vielleicht nicht mehr "Zugriff verweigert" sondern "Zugriff wurde verweigert". Schon schlägt ein Test fehl. Bei anderen Sprachversionen von Windows funktioniert der Test natürlich nie.

Gibt es also eine Möglichkeit die genaue Ursache dafür zu ermitteln, dass der Zugriff nicht möglich ist?

Besten Dank!
  Mit Zitat antworten Zitat