Форум: "Начинающим";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
ВнизКак закрыть БД? Найти похожие ветки
← →
типа прогер (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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.033 c