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

Вниз

Резервная копия   Найти похожие ветки 

 
grifon_nn   (2003-06-09 17:43) [0]

Подскажите, как лучше сделать резервную копию БД. Пока используется тупое сжатие с помощью WinRar.


 
Соловьев ©   (2003-06-09 17:55) [1]

для парадокса вполне нормально.


 
grifon_nn   (2003-06-09 18:34) [2]

Спасибо


 
Pat ©   (2003-06-09 20:11) [3]

Можно добавить упаковку через dbiDoRestructure


 
grifon_nn   (2003-06-11 11:32) [4]

>Pat
а что это даст. Можно поподробнее.

И ещё вопрос: когда я делаю резервную копию (либо создаю, либо восстанавливаю), никаких сообщений об ошибке программа не выдает. Т.е. просто запускается WinRar и сам отрабатывает. Теперь сам вопрос: как сделать, чтобы прога отлавливала завершение работы архиватора и в случае чего выдавала сообщение.

WinRar запускается следующей строкой:

env := "Winrar.exe e -c- -cfg- -o+ "+"reserve\" + filename + ".rar DataBase"
if not CreateProcess(nil,PChar(env),nil,nil,false,0,nil,nil,si,pi) then
ShowMessage("Ошибка открытия архива")
else
begin
WaitForSingleObject(pi.hProcess,INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
end;


При этом сообщение "Ошибка открытия архива не выдается ни при каких обстоятельствах", может я где в параметрах напутал...


 
KoluChi ©   (2003-06-11 11:44) [5]

Я использую такую функцию, обрабатывай ErrorCode
//------------------------------------------------------------------------------
function ProgramExecCommonErrorCode(const ExecLine: String; const WindowState: Integer; ErrorCode: PInteger = nil; ShowError: Boolean = false): Boolean;
var
PrInfo: PROCESS_INFORMATION;
StInfo: STARTUPINFO;
ExitCode: DWord;
begin
Result := false;
ZeroMemory(@StInfo, sizeof(StInfo));
with StInfo do
begin
cb := SizeOf(StInfo);
wShowWindow := WindowState;
dwFlags := STARTF_USESHOWWINDOW;
end;
if not CreateProcess(nil, PChar(ExecLine), nil, nil, False, CREATE_NEW_PROCESS_GROUP, nil, nil, StInfo, PrInfo) then Exit;
WaitForSingleObject(PrInfo.hProcess, INFINITE);
GetExitCodeProcess(PrInfo.hProcess, ExitCode);
CloseHandle(PrInfo.hProcess);
CloseHandle(PrInfo.hThread);
if Assigned(ErrorCode) then ErrorCode^ := ExitCode;
Result := true;
end;
//------------------------------------------------------------------------------



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
3-7287
Shaman
2003-06-06 18:47
2003.07.03
Аналог генератора в


9-7280
Mihey
2003-01-19 23:40
2003.07.03
Изометрическая графика.


1-7464
kah68
2003-06-20 16:17
2003.07.03
Изменение курсора мышки при выполнении SQL запроса


1-7403
Checist [root]
2003-06-22 20:12
2003.07.03
Открытие файла


3-7314
miss
2003-06-09 12:30
2003.07.03
Фильтрация