![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
Процедура удаления каталога:
При этом удаляются все файлы в каталоге, но сам он не удаляется, возникает OLE-ошибка. То же происходит при наличии в каталоге подкаталогов: файлы из подкаталогов удаляются, но сам подкаталог - нет с той же ошибкой. Вопрос: как удалить каталог полностью, со всеми файлами и подкаталогами? -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| RomanEEP |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 18.5.2006 Где: Коломна Репутация: 5 Всего: 8 |
А так:
|
|||
|
||||
| ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 15 Всего: 95 |
Данкинг, у меня все нормально удаляется. Ошибка возникает только в случае, если папка используется (соответственно и не может удалиться). Ну и какбэ используемую папку гарантированно удалить сложно, у меня получилось только в Корзину методом, описанным здесь, да и то только когда она перестает использоваться.
P.S. Ну а использовать второй параметр метода deleteFolder ты наверное пробовал. -------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
| Данкинг |
|
||||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
Сейчас попробовал - результат тот же.
Удаляет все файлы, оставляя каталоги. Добавлено @ 14:12 Вообще да, видимо, где-то держится эта папка в программе, в общем, буду искать. А если быть точным, то мне нужно удалить не саму папку, а всё, что есть в ней. Т.е. папка остаётся, но пустая. Это сообщение отредактировал(а) Данкинг - 14.11.2010, 14:23 -------------------- There's nothing left but silent epitaphs. |
||||
|
|||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
А Проводник удаляет папку?
|
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
Akella, разумеется, да и если просто удалить папку через fs.deletefolder (т.е. без того, что делает программа сначала - а она действительно лезет в этот каталог), то удаляется нормально. Поэтому, вероятно, намёк верный: в программе что-то папку держит, хотя я уже там закрыл всё, что можно (TDirectoryListBox и TFileListBox). Вечерком думаю попробовать сделать через 0пу: сначала удалить все файлы в данной папке, а затем уже ставшими пустыми подкаталоги через RemoveDir. Вдруг получится.
Это сообщение отредактировал(а) Данкинг - 14.11.2010, 15:44 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 15 Всего: 95 |
Имхо те же яйца только в профиль.
Попробуй менять активную директорию перед удалением каким-нибудь ChDir -------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
Да, и правда...
Аналогичный результат. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
В общем, извратился окончательно: нужные пути к каталогам сохраняются в .txt, и сделал отдельную консольную программку, которую надо будет запускать после работы основной и которая удалит каталоги согласно этому .txt.
Это сообщение отредактировал(а) Данкинг - 15.11.2010, 00:22 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Данкинг, в общем случае папка чем-то занята, т.е. какой-то процесс содержит хендл на эту папку (скорее всего твой собственный это и есть).
Посмотреть это можно с помощью утилиты Unlocker, разблокировать через нее же. |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
||||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
Keeper89, ну, запускать утилиты - это по сути то же самое, что и моя вторая консольная программка.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 15 Всего: 95 |
SetCurrentDir('C:\') (возможно, с последующей задержкой на 1с перед удалением) тоже не поможет?
-------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
ama_kid, аналогично, даже с задержкой на 10 секунд.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 15 Всего: 95 |
Данкинг, я бы на твоем месте последовательно повырезал бы (закомментировал) участки кода и посмотрел, после чего удаление становится возможным. Хотя, если тебя устраивает вариант с доп.консольной приблудой - то ок.
-------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |