Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.26;
Скачать: CL | DM;

Вниз

Как закрыть БД?   Найти похожие ветки 

 
типа прогер   (2006-02-06 11:17) [0]

В общем такая ситуация, мне из программы надо заархивировать всю базу...
я сначала закрываю БД, потом архивирую, потом открываю для дальнейшей работы...

var command: string;
begin
 TbStatus.Close;
 TbMain.close;
 TbConf.Close;
 TbPersonal.Close;
 TbExport.Close;
 command:="rar.exe a -ieml bases.rar .\bases\*.*";
 WinExec(PChar(command),SW_HIDE);
 TbStatus.Open;
 TbMain.Open;
 TbConf.Open;
 TbPersonal.Open;
 TbExport.Open;

В файле bases.rar находится только часть файлов базы. Остальное пишет занят процессом... Delphi при этом я вообще закрывал, результат тот же.
пробовал вместо Close, ACTIVE:+FALSE тоже самое.
Как же мне всетаки освободить их от процесса и что я делаю не так?


 
msguns ©   (2006-02-06 11:23) [1]

Судя по всему, парадокс (дибэйс), т.е. BDE
В подобных случаях, когда требуется вся "База" (например, для копирования, архивирования и т.д.), следует пользоваться объектом TDataBase. Через него закрывая ВСЕ таблицы, да и собственно, сессию с данной БД. Это поможет "убрать" неявно используемые ссылки на таблицы БД (например, мастер-детал)


 
umbra ©   (2006-02-06 11:28) [2]

надо дождаться, пока рар закончит архивацию, а затем открывать таблицы. С WinExec это невозможно. Надо пользоваться функцией CreateProcess


 
Desdechado ©   (2006-02-06 14:11) [3]

позакрывай таблицы в design-time



Страницы: 1 вся ветка

Текущий архив: 2006.02.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
4-1133903555
Конопелька
2005-12-07 00:12
2006.02.26
Вторая копия программы !


3-1134057681
Tolyan
2005-12-08 19:01
2006.02.26
Lookup в TDBF


15-1138741427
Michael5
2006-02-01 00:03
2006.02.26
Решил сделать сервер. Мне подарили материнку. Посмотрел: 486!


2-1139214157
Вячеслав Бессонов
2006-02-06 11:22
2006.02.26
try..except


1-1138212845
Yegorchic
2006-01-25 21:14
2006.02.26
Помогите