Einzelnen Beitrag anzeigen

ScotsMan

Registriert seit: 1. Nov 2006
Ort: Leipzig
13 Beiträge
 
Delphi XE5 Professional
 
#1

Removable Devices Error c0000013 oder c00000a3

  Alt 5. Aug 2008, 12:57
Hi, all,

nachdem ich mir entsprechend die Birne eingerannt habe, moechte ich mein problem einmal hier zur Diskussion stellen - googeln zeigt, dass die im Betreff genannte Fehlermeldung schon manchen zur Verzweiflung brachte. Aber der Reihe nach.

Zunaechst geht es um folgende staendige Programmieraufgabe: der Nutzer soll ein Verzeichnis waehlen. Das braucht man, aber ich wuesste keinen Dialog dazu... vielleicht hat ja hier schon jemand einen Tipp.

Ich benutze hierzu ein Objekt namens TDirViewWin, welches ich vor ewiger Zeit aus einer Zeitung abgeschrieben und modifiziert habe. Es gibt dort einen TreeView, in welchem alle Laufwerke gelistet werden, und man kann diese aufklappen und ein Verzeichnis waehlen. Das hat auch bisher gut geklappt.

Jetzt, als ich das alles wieder brauchte, stosse ich darauf, dass eine Fehlermeldung mit dem Errorcode c0000013 oder c00000a3 von Windows geworfen wird. Und zwar offensichtlich dann, wenn ein Laufwerk mittels GetDriveType als Eigenschaft dvwDRIVE_REMOVABLE besitzt - und KEIN Medium eingelegt ist.

Naja, dazu haben wir ja Moeglichkeiten - oder nicht? ich habe mich entschlossen, ein CHDir auf das Laufwerk zu machen, und dabei Fehler abzutesten. Denkste! Egal, ob ich $I- und IOError auswerte, oder try...except verwende: In Delphi gibt es (IMO) KEINE Exception, aber Windows wirft eine!

Ist da schon mal jemand drauf gestossen? Wie kann man dieses Problem umgehen? Ich befuerchte, es gibt noch ein paar andere "Haenger" bei Windows, also sozusagen "quasi gemountete drives" (ein ZIP-Laufwerk wie bei mir ist nur _ein_ Teil des Problems), bei denen Windows den Fehler schlaegt und mein Delphi 6 unter Win2000 das nicht mitbekommt.

Hat zufaellig jemand eine Idee fragt besorgt
ScotsMan
$ route add default roma.it
  Mit Zitat antworten Zitat