Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Рекурсивное удаление директории [NT4, Win2k, WinXP]


AngelFire ©   (2004-08-17 13:14:00) 

Уважаемые Мастера! Не получается рекурсивно удалить диреткорию средствами API ! RemoveDirectory() - удаляет только пустые. SHFileOperation() - умеет и рекурсивно, но нестабильно работает между вызовами FindFirstChangeNotification()... FindNextChangeNotification(), самостоятельный рекурсивный спуск функциями FindFirstFile()...FindNextFile() с удалением - сбивает внутренний указатель поиска и часть файлов остается неудаленной.
Как быть?

с уважением,
Angel


AngelFire   (2004-08-17 14:30:00) [1]

Что-то вроде этого:

 SHFILEOPSTRUCT fop;
 fop.wFunc := FO_DELETE;
 fop.pFrom := lpszPathName;
 fop.fFlags := FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_SILENT;
 SHFileOperation( @fop );

p.s.
За синтаксис извиняюсь заранее, т.к. переносил из кода C++, а паскалевый синтаксис уже порядком подзабыл)


Kerk   (2004-08-17 13:22:00) [2]

у тебя ошибка в 17й строке.:)
исходник покажи


Наверх

Титульная страница Поиск, карта сайта Написать письмо