Форум: "WinAPI";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
ВнизОрганизация фонового удаления каталогов с содержимым Найти похожие ветки
← →
DennisLNC © (2004-04-26 12:52) [0]Помогите пожалуста организовать фоновое удаление папок со всем содержимым (тут наверно придется создать отдельный поток ?)
заранее благодарен
← →
Anatoly Podgoretsky © (2004-04-26 13:02) [1]Фоновое это что - не видимо или паралельно.
ShFileOperation или так или в отдельном кодовом потоке.
← →
DennisLNC © (2004-04-27 15:51) [2]
function DeleteDir(Dir : string) : boolean;
Var
Found : integer;
SearchRec : TSearchRec;
begin
result:=false;
if IOResult<>0 then ;
ChDir(Dir);
if IOResult<>0 then begin
ShowMessage("Не могу войти в каталог: "+Dir); exit;
end;
Found := FindFirst("*.*", faAnyFile, SearchRec);
while Found = 0 do
begin
if (SearchRec.Name<>".")and(SearchRec.Name<>"..") then
if (SearchRec.Attr and faDirectory)<>0 then begin
if not DeleteDir(SearchRec.Name) then exit;
end else
if not DeleteFile(SearchRec.Name) then begin
ShowMessage("Не могу удалить файл: "+SearchRec.Name); exit;
end;
Found := FindNext(SearchRec);
end;
FindClose(SearchRec);
ChDir(".."); RmDir(Dir);
result:=IOResult=0;
end;
создаю поток который удаляет папки
в 98 работает нормально
хр выдает ошибку при удалении но удаяет и говорит недопустимый дескриптор окна при закрытии
← →
DennisLNC © (2004-04-27 15:53) [3]поток вызывает function DeleteDir
← →
Reindeer Moss Eater © (2004-04-27 15:58) [4]Убери ShowMessage совсем или замени на MEssageBox
← →
Digitman © (2004-04-27 16:00) [5]
> создаю поток который удаляет папки
> в 98 работает нормально
> хр выдает ошибку при удалении но удаяет и говорит недопустимый
> дескриптор окна при закрытии
нормально это заведомо работать не может, потому что Showmessage - потоконебезопасная процедура
← →
DennisLNC © (2004-04-28 14:33) [6]попробую спасибо
А не подскажете как организовать это же удаление но со строкой прогресса удаления ??
И еще не подскажете где можно чего почитать про то что можно ипользовать в потоках а что нет ?
← →
DennisLNC © (2004-04-29 17:42) [7]Помогло Api это вещь
так как же организовать строку прогресса удаления может сначала узнать обьем и изходя от этого начать плясать ?
← →
Mim1 © (2004-04-29 18:59) [8]На страничке Anatoly Podgoretsky © (26.04.04 13:02) [1] были статьи про синхранизацию потоков.
← →
panov © (2004-04-29 19:00) [9]>DennisLNC © (29.04.04 17:42) [7]
Заполни сначала StringList именами, потом в цикле удаляй...
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.029 c