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

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

Удаление папки, содержащей БД [D7, Paradox]


Ilg ©   (2008-07-29 10:37:00) 

Здравствуйте!
Ситуация такая:
Нужно удалить папку, в которой находятся файлы БД (вместе с файлами). До момента удаления БД была открыта! Отключаю БД, удаляю и ... вдруг оказывается, что папка не удалилась. Но самое удивительное, что все файлы внутри нее нормально удалены. Причем удалить эту пустую папку не получается ни из программы, ни вручную (из Проводника) - нет доступа. Доступ появляется только после выхода из программы или подключения к другой БД...
Собственно вопрос - почему так происходит, где блокируется эта папка? Может сам BDE? И как ее разблокировать?
Заранее, Большое спасибо!


Виталий Панасенко(дом)   (2008-07-30 13:52:00) [1]

Отключи Session.Active := False.. может поможет


MsGuns   (2008-07-29 13:06:00) [2]

Папка блокируется BDE т.к. база данных остается открытой даже если нет ни одной открытой таблицы


Сергей М.   (2008-07-29 13:05:00) [3]


> Ilg   (29.07.08 13:01) [10]


ты уверен, что в твоей программе имеется только один объект TDatabase ?


Ilg   (2008-07-29 13:01:00) [4]

Скорее всего - именно моя программа или что-то связанное с БД (например BDE)... Такой вывод - исходя из того, что Доступ появляется только после выхода из программы или подключения к другой БД...


Ega23   (2008-07-29 12:17:00) [5]


> Поясните...


Кто-то (и совсем не обязательно, что именно твоя программа, "держит" эту директорию).

Как пример: Открываем Delphi, новый проект, всё сохранили. Закрыли Delphi. А потом пытаемся удалить директорию с проектом (из файл-менеджера).
При определённых настройках в Delphi этого не получится, будет такой же эффект: вайлы удалились, папка пустая, но удалить её - никак.


Ilg   (2008-07-29 12:13:00) [6]


> а третий вариант пробовал - "отключить базу данных"

Разумеется, я сначала отключаю... Если этого не сделать, то и сами файлы БД (таблицы) не удалятся!


ЮЮ   (2008-07-29 11:27:00) [7]

> Доступ появляется только после выхода из программы или подключения
> к другой БД...

а третий вариант пробовал - "отключить базу данных".


> почему так происходит, где блокируется эта папка?

Папка это и есть БАЗА, а файлы - лищь жалкие NF<KBWS


Ilg   (2008-07-29 11:15:00) [8]


> Это ещё ничего не значит

Поясните...


Sergey13   (2008-07-29 11:12:00) [9]

> [3] Ilg   (29.07.08 10:55)
> А что тут странного? Задача нормальная - полностью удалить БД Paradox
Согласен. Киллер тоже просто работает с людьми. 8-)

> А какие еще варианты решения...?

Del или Shift+Del в любом файловом менеджере.


Ega23   (2008-07-29 10:56:00) [10]


> В том то и дело, что GetCurrentDir дает другую директорию
> (ту в которой находится программа)


Это ещё ничего не значит.


Ilg   (2008-07-29 10:55:00) [11]


> CurrentDir

В том то и дело, что GetCurrentDir дает другую директорию (ту в которой находится программа)


> Какие же странные задачи при работе с БД решают люди. Не
> перестаю удивляться

2Sergey13:
А что тут странного? Задача нормальная - полностью удалить БД Paradox... А какие еще варианты решения...?


Sergey13   (2008-07-29 10:44:00) [12]

Какие же странные задачи при работе с БД решают люди. Не перестаю удивляться.


Ega23   (2008-07-29 10:39:00) [13]


> где блокируется эта папка


CurrentDir


Наверх

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