| |
VB.NET - Ein- und UmsteigerRe: Directory.Delete - Unerklärlicher Error | | | Autor: JangoF | Datum: 10.07.11 12:28 |
| Das ist so nicht ganz richtig!
Ins Anwendungsverzeichnis bei AllUsers hat zwar jeder Vollzugriff.
Aber auf die dort angelegten Ordner inkl. Inhalt hat nur der Ersteller Vollzugriff. | |
Directory.Delete - Unerklärlicher Error | | | Autor: Logo | Datum: 09.07.11 17:16 |
| Hallo allerseits,
ich benötige wieder einmal Eure Hilfe.
Folgender Code läuft seit Monaten bei -zug Usern genauso, wie er soll:
' Nach Ende des Spiels das Daten-Verzeichnis mit allen Daten löschen
If System.IO.Directory.Exists(sDirRAI) = True Then
Directory.Delete(sDirRAI, True)
End If Der Ablauf ist m. E. narrensicher: Zu Beginn des Spiels wird im AllUser-Anwendungsdatenverzeichnis das Verzeichnis sDirRAI angelegt, und es werden Dateien hinein kopiert; am Ende des Spiels wird das Ganze in einem Rutsch gelöscht.
Gestern meldet mir ein User erstmals folgenden Fehler:
Error-Massage: Das Verzeichnis ist nicht leer.
Error-StackTrace:
bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive)
bei System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive)
usw.
Ich bin ratlos, was da los sein könnte - hat jemand eine Ahnung, unter welchen Umständen es zu diesem Error kommen kann.
Wie immer herzlichen Dank im Voraus für Eure Hilfe !
Beste Grüße
Logo | |
Re: Directory.Delete - Unerklärlicher Error | | | Autor: Maas | Datum: 09.07.11 17:49 |
| Wie der Fehler schon sagt, muss das Verzeichnis leer sein, um es zu löschen. Du musst also auch alle Dateien manuell löschen. Durch IO.Directory.Delete werden die Dateien nicht mit gelöscht.
Also vorher noch folgendes ausführen
For Each file In IO.Directory.GetFiles(sDirRAI, "*.*")
IO.File.Delete(file)
Next Maas | |
Re: Directory.Delete - Unerklärlicher Error | | | Autor: Logo | Datum: 09.07.11 17:53 |
| Hallo Maas,
vielen Dank für Deine Antwort.
Aber der 2. Parameter 'True' bedeutet doch gerade, dass alle Dateien und Unterverzeichnisse mitgelöscht werden - schließlich klappt das im Normalfall ja auch tadellos...
Gruß Logo | |
Re: Directory.Delete - Unerklärlicher Error | | | Autor: Logo | Datum: 09.07.11 17:55 |
| Hallo DaveS,
herzlichen Dank für Deine schnelle Reaktion.
Auf den Rechner der Dame habe ich leider keinen Zugriff, und ich fürchte aus Erfahrung, dass es nicht leicht wird, eine Therapeutin (= Normal-Anwenderin) am Telefon zu einem bestimmten, gar evtl. ausgeblendeten, Verzeichnis auf der Festplatte zu geleiten.
Aber da dieses Verzeichnis ja erst direkt vor dem Start des Therapie-Spiels angelegt wird, unmittelbar danach alle zum Spiel notwendigen Grafiken und Tondateien da hinein kopiert werden und das Spiel normal gespielt werden konnte, müssen die Dateien drin gewesen sein, und es können auch keine unerwünschten Files reinkommen - nach der Erstellung werden nur noch die Dateien ausgelesen.
Und egal, ob voll oder leer: Mit dem 2. Parameter TRUE sollte es doch auf jeden Fall gelöscht werden, oder ...?
Gruß Logo | |
Re: Directory.Delete - Unerklärlicher Error | | | Autor: Maas | Datum: 09.07.11 17:58 |
| Stimmt, Sorry. Hab wohl zu schnell gelesen.
Maas | |
Re: Directory.Delete - Unerklärlicher Error | | | Autor: Logo | Datum: 09.07.11 18:08 |
| Mir kommt gerade ein Gedanke, den ich aber nicht verifizieren kann, da mein Win7-Rechner gerade in Reparatur ist ..:
Löscht der Befehl möglicherweise UAC-bedingt nur die Dateien eines Verzeichnisses, die der aktuelle Benutzer angelegt hat und lässt die anderen stehen?
Wenn dieses Verzeichnis also zuvor unter einem anderen Benutzer angelegt und mit den gewünschten Bild- und Tondateien gefüllt wurde und es - aus welchem Grund auch immer - nicht gelöscht wurde: Käme es dann bei einem anderen Benutzer evtl. zu diesem Error?
Gruß Logo | |
Re: Directory.Delete - Unerklärlicher Error | | | Autor: Logo | Datum: 10.07.11 07:38 |
| Hallo DaveS,
ich verstehe Deine Frage nicht: Was meinst Du mit 'großen Zahken'? Und wieso Netzwerk?
Beste Grüße Logo | |
Re: Directory.Delete - Unerklärlicher Error | | | Autor: Logo | Datum: 10.07.11 08:33 |
| Hallo DaveS,
was die Viwes angeht, habe ich keine Erklärung...
Für die nächste Version des Programms hatte ich die Neuorganisation der Datenverzeichnisse ohnehin geplant, aber ich muss jetzt trotzdem versuchen herauszubekommen, was da in diesem Einzelfall schiefgelaufen ist.
Falls ich irgendetwas Erhellendes erfahre, werde ich's hier auf jeden Fall noch kundtun.
Allen herzlichen Dank.
Gruß Logo | |
Re: Directory.Delete - Unerklärlicher Error | | | Autor: FZelle (Moderator) | Datum: 10.07.11 11:35 |
| Du bist sicher, das alle Prozesse beendet sind, die z.b. die Audiofiles abspielen?
Ansonsten bleibt dir nichts anderes Übrig, als das Verzeichnis selber von Hand Rekursiv zu durchlaufen
um herauszufinden welche Datei da noch existiert. | |
Re: Directory.Delete - Unerklärlicher Error | | | Autor: Logo | Datum: 10.07.11 12:23 |
| Hallo FZelle,
vielen Dank für Deine Antwort.
Das ist eine Richtung, in die ich noch gar nicht gedacht hattee - aber ich's gleich nachgeschaut und ausprobiert: Auch bei einem vorzeiten Spielabbruch durch den User während des Abspielens einer WAV wird diese zunächst beendet und ersr dann werden Dateien und Verzeichnis gelöscht - sonst wäre der Fehler sicherlich schon mal aufgetreten.
Ich denke mittlerweile, dass da eine sehr individuelle Situation vorgelegen haben muss und hoffe, dass die Anwenderin mir morgen meinen Fragenkatalog zur spezifischen Programmsituation beim Auftreten de Fehlers beantwortet / beantworten kann....
Beste Grüße und einen schönen Sonntag noch
Logo | |
Re: Directory.Delete - Unerklärlicher Error | | | Autor: JangoF | Datum: 10.07.11 12:56 |
| Für den Ordner Public gilt das, aber nicht für AllUser(ProgramData) | |
Re: Directory.Delete - Unerklärlicher Error | | | Autor: vbastler | Datum: 10.07.11 19:47 |
| Wie sieht es mit einem Virenscanner aus, der die Dateien locked und dann das Dir-Löschen fehlschlägt? | |
Re: Directory.Delete - Unerklärlicher Error | | | Autor: Logo | Datum: 13.07.11 23:14 |
| Hallo allerseits,
weil sich so viele von Euch den Kopf zerbrochen haben, möchte ich die Sache nicht im Sande verlaufen lassen.
Heute habe ich endlich von der Kundin die Details bekommen: XP, Admin - basismäßig also unkompliziert.
Der Fehler ist nur einmal aufgetreten, und zwar beim vorzeitigen Abbruch einer Übung. Obwohl ich es selbst bislang nicht rekonstruieren kann, bin ich doch ziemlich sicher, dass FZelle recht hatte: der Directory.Delete-Befehl muss ein nicht ganz beendetes WAV-File erwischt haben, das würde alles erklären.
Auf jeden Fall sind die Kundin und vor allem ich jetzt wieder froh, und ich bedanke mich nochmals sehr herzlich für Eure vielen Beiträge.
Beste Grüße
Logo | |
Re: Directory.Delete - Unerklärlicher Error | | | Autor: JangoF | Datum: 14.07.11 10:31 |
| Ich bin auch immer wieder erstaunt wie der gemeine Anwender Fehlermeldungen hinbekommt die selbst wenn ich sie provoziere nicht nachvollziehen kann.
Manchmal würde ich gerne eine Kamera hinter den User stellen um zu sehen was der da alles so rumklickt. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevCoolbar 3.0
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|