Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Verzeichnis bleibt ge'lockt, wie umgehen ??? (https://www.delphipraxis.net/37835-verzeichnis-bleibt-gelockt-wie-umgehen.html)

kalmi01 11. Jan 2005 07:54


Verzeichnis bleibt ge'lockt, wie umgehen ???
 
Hallo,
ich hab da ein Prob mit Delphi 7:
Delphi-Quellcode:
DeleteFile('c:\test\a.bat');
DeleteFile('c:\test\b.bat');
RemoveDir('c:\test');
Dieser Code-Schnipsel zeigt das Problem, Datei a.bat und b.bat werden gelöscht.
Das Verzeichnis test wird nicht gelöscht, da anscheinend noch ein Lock auf das Verzeichnis existiert.
Wird das Prog ein zweites mal aufgerufen, wird auch test gelöscht.
Auch SetCurrentDir und ChDir vor RemoveDir helfen nicht.

Was mach ich falsch ???

Tschau Michael

DP-Maintenance 11. Jan 2005 08:01

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Datenbanken" nach "Sonstige Fragen zu Delphi" verschoben.
Irgendwie finde ich keinen Bezug zu Datenbanken ;-)

Bernhard Geyer 11. Jan 2005 08:22

Re: Verzeichnis bleibt ge'lockt, wie umgehen ???
 
Probier einfach mal vor dem Löschen eine Wartezeit (Application.ProcessMessages bzw. Sleep) einzulegen. Evtl. ist Windows noch nicht fertig mit dem Löschen (bzw. Du hast noch einen Virenscanner laufen, welcher die Dateien vor dem Löschen überprüft).

kalmi01 11. Jan 2005 08:34

Re: Verzeichnis bleibt ge'lockt, wie umgehen ???
 
Hallo Bernhard,

Application.ProcessMessages ist schon massenweise in dem Programm verbaut, habe trotzdem nochmal eins eingebaut,hat aber nicht geholfen.
Dito Sleep(3000);

Eventuell ist es Hilfreich zu wissen, daß das Prob unter NT/2000/XP auftritt.

Gruß
Michael

UweR 11. Jan 2005 08:46

Re: Verzeichnis bleibt ge'lockt, wie umgehen ???
 
Hallo Michael,

probier mal den Zugriff mit der API-Funktion RemoveDirectory. Ich denke die wird auch fehlschlagen, du kannst aber dann mit GetLastError den Grund rauskriegen warum es schief geht.

Luckie 11. Jan 2005 09:16

Re: Verzeichnis bleibt ge'lockt, wie umgehen ???
 
Setz mal das aktuelle Verzeichnis auf ein anderes mit MSDN-Library durchsuchenSetCurrentDirectory. Der Explorer hat wohl noch seine Patschehändchen auf dem Verzeichnis.

kalmi01 11. Jan 2005 09:35

Re: Verzeichnis bleibt ge'lockt, wie umgehen ???
 
:wall: Neiiin :wall:

manchmal sitzt der Depp halt doch vorm Rechner und nicht drin.

Das Problem lag daran, daß das Verzeichnis nicht leer war, wie erwartet.
Was zu löschen ist, wird aus einer Datei geladen:

c:\test\a.bat
c:\test\b.bat
c:\test

etwa so.
Eingelsen wird in eine "sorted Stringlist" und da passiert dann das :

c:\test
c:\test\a.bat
c:\test\b.bat


Ich schäme mich ja sooo :duck:

um Gnade und Vergebung winselnd
Michael

UweR 11. Jan 2005 17:11

Re: Verzeichnis bleibt ge'lockt, wie umgehen ???
 
Hallo Michael,

das Gefühl kenn ich nur zu gut!!

Das Problem ist eben das Computer das machen was man ihnen sagt und nicht das was sie sollen.


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