Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.038 c
1-1085315631
griban
2004-05-23 16:33
2004.06.06
Exel...


11-1072366669
Xtz
2003-12-25 18:37
2004.06.06
Пороблема с мск


14-1084728062
Igor_thief
2004-05-16 21:21
2004.06.06
LineDDA


1-1085179106
DelPHist
2004-05-22 02:38
2004.06.06
Компиляция математических выражений


1-1085422437
Memo
2004-05-24 22:13
2004.06.06
MapInfo &amp; Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский