Erro ao compactar com winzip..
Bom dia pessoal.. estou tentando compactar meu banco de dados com winzip, mas com a rotina que estou usando ele está me dizendo que está dando erros no winzip.. dizendo que o bd está aberto.. e grava corrompido ..
esse é o meu codigo..
18: BEGIN
If savedialog.Execute then
Begin
[b:7adfe34628]Fecha;[/b:7adfe34628]
Origem := ´C:\Balanca\Veiculos.mdb´;
If FileExists(Trim(Origem)) then
Begin
Try
SHELLEXECUTE(0,NIL,´WINZIP32.EXE´,PChar(´-min -a -ex ´´ + Savedialog.Filename + ´´ ´ + ´´´ + Origem + ´´´),NIL,SW_SHOW);
except
begin
Application.Messagebox(´Ocorreram erros.´,´Backup´,mb_iconinformation+mb_Ok);
exit;
end;
end;
end
else
MessageDlg(´Não foi encontrado o arquivo,´+#13+´C:\Balança\Veiculos.mdb´,mtInformation,[mbOK],0);
end;
a procedure Fecha descrito acima.. eu fecho todas as tabelas.
procedure TFRMMENU.Fecha;
begin
DTDB.LOGIN.Connected := false;
// Desabilita as tabelas
DTDB.VEI.Active := false;
DTDB.COF.Active :=false;
DTDB.LEI.Active :=false;
DTDB.MED.Active :=false;
DTDB.MUN.Active :=false;
DTDB.REP.Active :=false;
DTDB.EXC.Active :=false;
DTDB.OPE.Active :=false;
DTDB.ESP.Active :=false;
DTDB.CAT.Active :=false;
DTDB.COR.Active :=false;
DTDB.MUL.Active :=false;
DTDB.MAR.Active :=false;
DTDB.MDENATRAN.Active :=false;
DTDB.MULR.Active :=false;
DTDB.LEG.Active :=false;
DTDB.TIP.Active :=false;
//Desabilitando as consultas
DTDB.REPESAGEM.Active :=false;
DTDB.INFRACOES.Active :=false;
DTDB.AGRUPADO.Active :=false;
DTDB.FLUXO.Active :=false;
DTDB.RELACAO.Active :=false;
DTDB.Eixo.Active :=false;
DTDB.ExcessoEixo.Active :=false;
DTDB.EXCESSO.Active :=false;
DTDB.Incrementa.Active :=false;
end;
alguém pode me ajudar nessa.. tenho que entregar isso hj!!!
valeu mesmo
Eric
esse é o meu codigo..
18: BEGIN
If savedialog.Execute then
Begin
[b:7adfe34628]Fecha;[/b:7adfe34628]
Origem := ´C:\Balanca\Veiculos.mdb´;
If FileExists(Trim(Origem)) then
Begin
Try
SHELLEXECUTE(0,NIL,´WINZIP32.EXE´,PChar(´-min -a -ex ´´ + Savedialog.Filename + ´´ ´ + ´´´ + Origem + ´´´),NIL,SW_SHOW);
except
begin
Application.Messagebox(´Ocorreram erros.´,´Backup´,mb_iconinformation+mb_Ok);
exit;
end;
end;
end
else
MessageDlg(´Não foi encontrado o arquivo,´+#13+´C:\Balança\Veiculos.mdb´,mtInformation,[mbOK],0);
end;
a procedure Fecha descrito acima.. eu fecho todas as tabelas.
procedure TFRMMENU.Fecha;
begin
DTDB.LOGIN.Connected := false;
// Desabilita as tabelas
DTDB.VEI.Active := false;
DTDB.COF.Active :=false;
DTDB.LEI.Active :=false;
DTDB.MED.Active :=false;
DTDB.MUN.Active :=false;
DTDB.REP.Active :=false;
DTDB.EXC.Active :=false;
DTDB.OPE.Active :=false;
DTDB.ESP.Active :=false;
DTDB.CAT.Active :=false;
DTDB.COR.Active :=false;
DTDB.MUL.Active :=false;
DTDB.MAR.Active :=false;
DTDB.MDENATRAN.Active :=false;
DTDB.MULR.Active :=false;
DTDB.LEG.Active :=false;
DTDB.TIP.Active :=false;
//Desabilitando as consultas
DTDB.REPESAGEM.Active :=false;
DTDB.INFRACOES.Active :=false;
DTDB.AGRUPADO.Active :=false;
DTDB.FLUXO.Active :=false;
DTDB.RELACAO.Active :=false;
DTDB.Eixo.Active :=false;
DTDB.ExcessoEixo.Active :=false;
DTDB.EXCESSO.Active :=false;
DTDB.Incrementa.Active :=false;
end;
alguém pode me ajudar nessa.. tenho que entregar isso hj!!!
valeu mesmo
Eric
Eric.miranda
Curtidas 0
Respostas
Eric.miranda
15/09/2005
Pessoal alguém tem alguma sugestão pra mim fazer esse backup.. nem que seja pra mim mudar a forma...
tenho que entregar esse projeto agora mesmo!!!
fiz vários testes aqui.. e parece que a conexão odbc dele trava..
pq fechei todas as tabelas e os databases e continua dando erro..
conto com a ajuda de vcs!! :roll: :roll: :roll:
tenho que entregar esse projeto agora mesmo!!!
fiz vários testes aqui.. e parece que a conexão odbc dele trava..
pq fechei todas as tabelas e os databases e continua dando erro..
conto com a ajuda de vcs!! :roll: :roll: :roll:
GOSTEI 0
Mahdak
15/09/2005
tente isso:
unit Backup_Form;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, FileCtrl;
type
TForm1 = class(TForm)
OpenDialog: TOpenDialog;
SaveDialog: TSaveDialog;
btnBackup: TBitBtn;
btnRestore: TBitBtn;
GroupBox1: TGroupBox;
DirectoryListBox1: TDirectoryListBox;
DriveComboBox1: TDriveComboBox;
Label1: TLabel;
FileListBox1: TFileListBox;
procedure btnBackupClick(Sender: TObject);
procedure btnRestoreClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.btnBackupClick(Sender: TObject);
begin
If not SaveDialog.Execute Then Exit;
WinExec(PChar(´C:\Arquivos de Programas\WinZip\WinZip32 -min -a -r "´+SaveDialog.FileName+´" ´
+´"´+Label1.Caption+´"´),1);
end;
procedure TForm1.btnRestoreClick(Sender: TObject);
begin
If not OpenDialog.Execute Then Exit;
WinExec(PChar(´C:\Arquivos de Programas\WinZip\WinZip32 -min -e "´+OpenDialog.FileName+´" ´
+´"´+Label1.Caption+´"´),1);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DirectoryListBox1.Directory:=´C:\´;
end;
end.
GOSTEI 0
Mahdak
15/09/2005
detalhe que esqueci de dizer....
feche o seu aplicativo quando for realizar o backup, para que a sua tabela nao esteja aberta... ;) dae o problema ja eras....
Abraços!
feche o seu aplicativo quando for realizar o backup, para que a sua tabela nao esteja aberta... ;) dae o problema ja eras....
Abraços!
GOSTEI 0
Eric.miranda
15/09/2005
obrigado mahdak pela ajuda,
só mais uma dúvida..
para mim fechar minha aplicação esse backup teria então que ser um módulo fora desse meu sistema??
valeu
Eric
só mais uma dúvida..
para mim fechar minha aplicação esse backup teria então que ser um módulo fora desse meu sistema??
valeu
Eric
GOSTEI 0
Mahdak
15/09/2005
obrigado mahdak pela ajuda,
só mais uma dúvida..
para mim fechar minha aplicação esse backup teria então que ser um módulo fora desse meu sistema??
valeu
Eric
isso...
para chama-lo e fechar o seu sistema voce teria que primeiro chamar o bacckup e depois dar um close no sistema, do tipo:
procedure botaobackup;
begin
backup.show;
sistema.close;
end;
GOSTEI 0