Вниз
Скачать: CL | DM;

Не могу удалить папки   Найти похожие ветки 

← →
ZZZ_AC   (2004-03-18 17:44) [0]

Вопрос в следующем есть файл со списком папок и файлов и такая его обработка
while not EOF(Log) do
begin
ReadLn(Log,sRazdel);
if NOT DirectoryExists(sRazdel) then  ShowMessage("Нет такой директории");
RemoveDir(ExtractFileDir(sRazdel));
end;
В результате работы не удаляеться не одна директория. Причем все папки пустые пустые. На проверу DirectoryExists тоже не ругаеться
т.е. говорит что дирретория есть но ее не удаляет.


← →
Reindeer Moss Eater ©   (2004-03-18 17:49) [1]

Потому что проверяешь наличие c:\test\test
а удаляешь c:\test

которая ни разу не пустая


← →
Defunct ©   (2004-03-18 17:55) [2]

if NOT DirectoryExists(sRazdel) then  ShowMessage("Нет такой директории") Else
RemoveDir(sRazdel);


Хорошо бы вначале войти в каталог и проверить, что он действительно пуст.


← →
zZz_AC   (2004-03-18 18:00) [3]

Но если я заменяю
RemoveDir(ExtractFileDir(sRazdel));
на
RemoveDir(sRazdel);
Так-же не удаляет.


← →
Reindeer Moss Eater ©   (2004-03-18 18:04) [4]

sRazdel является текущей для какого-то процесса.
Занята одним словом.
Или непуста.


← →
Fay ©   (2004-03-18 18:10) [5]

GetLastError что выдаёт?


← →
ZZZ_AC   (2004-03-18 18:11) [6]

А можно ли как то проверить кем она занята и освободить?
она точно пуста


← →
Fay ©   (2004-03-18 18:14) [7]

GetLastError что выдаёт????????????????????


← →
Defunct ©   (2004-03-18 18:16) [8]

> А можно ли как то проверить кем она занята и освободить?

Попробовать удалить, если не удаляется значит занята.

> она точно пуста

Последнее очень сомнительно


← →
ZZZ_AC   (2004-03-18 18:34) [9]

Удаляеться на раз без проблемм посредством wincom+F8.
И она точно пуста нет в ней нечего.
GetLastError выдает 32.


← →
Reindeer Moss Eater ©   (2004-03-18 18:37) [10]

Твоя программа имеет эту папку в качестве текущего каталога.
Твоя прога открыла и держит эту папку.
Твоя прога сама себе мешает удалить её.


← →
ZZZ_AC   (2004-03-18 18:43) [11]

О люди Всем огромное спасибо!
На самом деле нашёл что забыл закрыть поиск.
Добавил всего лишь одну строчку и все заработало FindClose(SearchRD);

Еще раз огромное спасибо!!!!!


← →
Fay ©   (2004-03-18 20:50) [12]

ERROR_SHARING_VIOLATION


← →
Cobalt ©   (2004-03-18 22:49) [13]

> ZZZ_AC   (18.03.04 18:43) [11]
Ты, случаем, не Dr.Web пишешь?  А то у него точно такие же грабли - не закрывает за собой папки, сволочь!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.027 c
1-1079077976
Fame
2004-03-12 10:52
2004.04.04
Вывод строк БЕЗ незначащих пробелов.


1-1079425037
Miwa
2004-03-16 11:17
2004.04.04
Неужели и вправду код функции должен поместится в экран?


6-1075194978
cherep
2004-01-27 12:16
2004.04.04
delphi и telnet


3-1078814965
Dark Man
2004-03-09 09:49
2004.04.04
Глюк в структуре???


1-1079538058
Александр1
2004-03-17 18:40
2004.04.04
Как добавить лист в Excel?




   Наверх