 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
nilton_felipe Novato

Registrado: Domingo, 4 de Março de 2007 Mensagens: 23
|
Enviada: Sáb Jan 24, 2015 2:36 pm Assunto: Como evitar cair na exception |
|
|
Pessoal tenho esse código aqui:
Citação: | procedure Tdm.DataModuleCreate(Sender: TObject);
var
CWinIni : TIniFile;
Caminho, vPath : String;
iqQuery : TIBQuery;
Travado : String[1];
begin
Caminho := ' ';
CaminhoCW := ' ';
Travado := 'N';
vPath := ExtractFilePath(Application.ExeName);
CWinIni := TIniFile.Create(vPath+'CWin.Ini');
Caminho := CWinIni.ReadString('Inicio', 'SRV', '');
CaminhoCW := CWinIni.ReadString('Inicio', 'SRVCW', '');
vgsTpOp := CWinIni.ReadString('Inicio', 'OPE', 'E');
vgsFazenda := CWinIni.ReadString('Inicio', 'FTP', 'azcomercio');
vgiCli_No := CWinIni.ReadInteger('Inicio', 'CNO', 0);
Cor_Apagar := CWinIni.ReadInteger('Inicio', 'CO', 0);
//Inicializar Gauge com qte de query's + 2
fmSplash.geSplash.MaxValue := 3;
fmSplash.geSplash.Progress := fmSplash.geSplash.Progress + 1;
fmSplash.Update;
ibSistema.DatabaseName := Caminho;
try
ibSistema.Open;
except
on E: Exception do Begin
Erro('Não foi possível abrir o banco de dados!'+#13+
'Contate o suporte.'+#13+#13+
'Erro: '+E.Message);
//Travado := 'S';
cWinIni.Free;
Application.Terminate;
end;
end;
//Inicializa Usuário ativo
iqUsuario.Open;
if dm.iqUsuario.IsEmpty then
//Travado := 'S';
dm.iqUsuario.Locate('Usu_Ativo','1',[]);
Usuario.Usu_Codigo := iqUsuarioUSU_CODIGO.Value;
Usuario.Usu_Nome := iqUsuarioUSU_NOME.Value;
Usuario.Usu_Ativo := iqUsuarioUSU_ATIVO.Value;
strUsuUF := iqUsuarioUSU_UF.Value;
strUsuLogoPrinc := ExtractFilePath(Application.ExeName)+'Logo_Principal.jpg';
iqUsuario.Close;
strUsu := IntToStr(Usuario.Usu_Codigo);
try
ibCW.DatabaseName := CaminhoCW;
ibCW.Open;
except
on E: Exception do Begin
Erro('Não foi possível abrir o check do sistema!'+#13+
'Contate o suporte.'+#13+#13+
'Erro: '+E.Message);
cWinIni.Free;
//Application.Terminate;
//Travado := 'S';
end;
end;
iqQuery := TIBQuery.Create(self);
iqQuery.Database := DM.ibCW;
iqQuery.Transaction := dm.itCW;
if Travado <> 'S' then begin
iqQuery.SQL.Clear;
iqQuery.SQL.Add('SELECT * FROM LICENCA ');
iqQuery.SQL.Add('Where (NOMEUSUARIO = '+''''+Usuario.Usu_Nome+''''+') ');
iqQuery.Open;
if iqQuery.eof then begin
Aviso('Usuário não cadastrado, contate o suporte!');
// Travado := 'S';
cWinIni.Free;
Application.Terminate;
end;
end;
if Travado = 'S' then begin //<mudei> iqQuery.FieldValues['PRAZO'] then begin
iqQuery.SQL.Clear;
iqQuery.SQL.Add('DELETE FROM LICENCA ');
iqQuery.SQL.Add('Where (NOMEUSUARIO = '+''''+Usuario.Usu_Nome+''''+') ');
iqQuery.ExecSQL;
iqQuery.SQL.Clear;
iqQuery.SQL.Add('INSERT INTO LICENCA ');
iqQuery.SQL.Add('(NOMEUSUARIO, PRAZO, TRAVA) ');
iqQuery.SQL.Add('VALUES ('+''''+Usuario.Usu_Nome+''''+', '+IntToStr(StrToInt(copy(DateTimeToStr(Now),7,4)+copy(DateTimeToStr(Now),4,2)+copy(DateTimeToStr(Now),1,2))-1)+', ''S'')');
iqQuery.ExecSQL;
iqQuery.Transaction.CommitRetaining;
Aviso('A licença de uso já era, contacte o suporte!');
cWinIni.Free;
Application.Terminate;
end;
end;
{ --- Fim da verificação de validade --- }
{ --- Inicializa Query's --- }
// Usuário
iqUsuario.SQL.Clear;
iqUsuario.SQL := SQLs.Usuario.Text;
fmSplash.lbOperacao.Caption := 'Preparando Cadastro de Usuário...';
iqUsuario.Prepare;
fmSplash.geSplash.Progress := fmSplash.geSplash.Progress + 1;
fmSplash.Update;
//Senhas
iqSenha.SQL.Clear;
iqSenha.SQL := SQLs.Senha.Text;
fmSplash.lbOperacao.Caption := 'Preparando Senha de Acesso...';
iqSenha.Prepare;
fmSplash.geSplash.Progress := fmSplash.geSplash.Progress + 1;
fmSplash.Update;
//Solicitando Login
fmSplash.lbOperacao.Caption := 'Solicitando Login';
fmSplash.Update;
end;
|
Toda vida o sistema cai na exception abaixo, o que fazer??
try
ibCW.DatabaseName := CaminhoCW;
ibCW.Open;
except
on E: Exception do Begin
Erro('Não foi possível abrir o check do sistema!'+#13+
'Contate o suporte.'+#13+#13+
'Erro: '+E.Message);
cWinIni.Free;
Application.Terminate;
//Travado := 'S';
end;
end; |
|
Voltar ao Topo |
|
 |
Flavio_Ctba Novato

Registrado: Quinta-Feira, 7 de Fevereiro de 2008 Mensagens: 94 Localização: Curitiba
|
Enviada: Dom Jan 25, 2015 6:00 pm Assunto: |
|
|
Bom dia,
Veja se a sua variável CaminhoCW esta apontando certo para o Database.
Se estiver, post exatamente a mensagem de erro que o sistema esta retornado pra vc aqui no forum que dai fica mais facil ajudar. |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|