Ir para conteúdo
  • Cadastre-se

dev botao

Tratamento De Arquivo Inválido


vca_rj
Ver Solução Respondido por Isaque Pinheiro,
  • Este tópico foi criado há 4019 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá...

 

Estou sem saber onde faço o tratamento da exceção "Arquivo Inválido", no caso do arquivo auxiliar estiver corrompido. Pois não tem nenhum evento no componente AAC para isso, como o "VerificaRecomporValorGT", por exemplo.

 

Dei uma olhada nos post's anteriores e encontrei somente falando que haviam criado uma exception, mas não sei como utiliza-la para atender o Requisito XXIV - item 8 (ER 2.02).

 

Agradeço desde já qualquer ajuda.

 

Link para o comentário
Compartilhar em outros sites

Existe uma propriedade "ACBrAAC.ArquivoInvalido", que você pode verificar se o arquivo está corrompido.

 
      if ACBrAAC.ArquivoInvalido then
      begin
         FDC_Alerta('Arquivo: ' + ACBrAAC.NomeArquivoAux + ' inválido ou corrompido!');
         Exit;
      end;
  • Curtir 1

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Olá Isaque...

Estou utilizando o comando que você me passou, mas está sempre retornando TRUE, mesmo o arquivo estando correto!
Quando eu provoco um erro no arquivo auxiliar, excluindo alguma informação, é mostrado a mensagem abaixo em seguida o componente me retorna um erro, "Arquivo Auxiliar inválido".
Até ai tudo bem. Mas quando coloco o arquivo sem problemas, é mostrado somente a mensagem abaixo, quando não era para mostrar nada.
Estou fazendo da seguinte forma:

 

1. Verifico se o Arquivo Auxiliar Existe;

2. Verifico se o Arquivo Auxiliar é válido;  //Esá parando aqui

3. Atualizo arquivo Executaveis.txt (arquivo que contém a lista dos executáveis e seus respectivos MD5).

 

4. Ativar ECF; //Se tudo estiver OK.

 

if ACBrAAC.ArquivoInvalido then
begin
Application.MessageBox(PChar('Arquivo: ' + ACBrAAC.NomeArquivoAux + ' inválido ou corrompido!','Atenção',MB_ICONWARNING + MB_OK);
DesabilitarFuncoesECF := True;
end;

Editado por vca_rj
Link para o comentário
Compartilhar em outros sites

Bom dia, tem alguma coisa no seu código ocasionando o erro, pois eu utilizo essa checagem, no meu PAF já com 3 homologações e nunca tive problema, inclusive esse recurso foi revista por mim juntamente com o Daniel.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Consegui identificar o erro.

 

Corrija-me se eu estiver errado: preciso abrir o arquivo auxiliar antes.

 

 

1. Verifico se o Arquivo Auxiliar Existe;

    -> Se existir, dou o comando para abrir;

2. Verifico se o Arquivo Auxiliar é válido;

3. Atualizo arquivo Executaveis.txt (arquivo que contém a lista dos executáveis e seus respectivos MD5).

 

Funcionou dessa forma. (Obrigado)

Editado por vca_rj
Link para o comentário
Compartilhar em outros sites

Não consegui não, pois se o arquivo auxiliar estiver corrompido e eu tentar abrir ele, o componente gera o exeption com a mensagem de erro.

 

Por favor, veja o que eu estou fazendo de errado, sei que deve esta muito ocupado, é que passei o dia de ontem tentando fazer funcionar e não consegui.

 

Estou executando a function abaixo, no onShow, antes de ativar o ecf, pois se eu colocar depois de ativar e o arquivo estiver corrompido, por exemplo, é gerado o exption pelo componente.

 

 

function VerificacoesIniciaisPAFECF: Boolean;
begin
  Result := True;
 
// Verificar se existe Arquivo Auxiliar
  if  not FileExists(getPathArquivoAuxiliar) then
  begin
    Application.MessageBox('                              Arquivo Auxíliar não encontrado!'+#13+
                           'As funcionalidades que envolvem o ECF não estarão disponíveis.','Atenção',MB_ICONWARNING + MB_OK);
    Result := False;
  end
  else
  begin
    try
      frm_principal.ACBrAAC.NomeArquivoAux := getPathArquivoAuxiliar;
      frm_principal.ACBrAAC.AbrirArquivo;
    except
      raise;
      Result := False;
    end;
  end;
 
  // Verifica se Arquivo Auxiliar está inválido ou corrompido
  if frm_principal.ACBrAAC.ArquivoInvalido then
  begin
    Application.MessageBox(PChar('Arquivo: ' + frm_principal.ACBrAAC.NomeArquivoAux + ' inválido ou corrompido!'),'Atenção',MB_ICONWARNING + MB_OK);
    Result := False;
  end
  else
  begin
    try
      // Atualiza arquivo Executaveis.txt
      AtualizarArquivoExecutaveisTXT; //é uma procedure
    except
      Result := False;
    end;
  end;
end;
Editado por vca_rj
Link para o comentário
Compartilhar em outros sites

  • Solution

Faça o tratamento ao abri o arquivo

 

try

 Abrir arquivo;

except

 

   Mesnagem('Arquivo Corrompido favor entrar en contato com seu programador')

 

end;

 

e onde precisar checar:


function VerificacoesIniciaisPAFECF: Boolean;
begin

...

else

   Mesnagem('Arquivo Corrompido favor entrar en contato com seu programador')

 

Só você poderá ir la e gerar outro arquivo novo.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4019 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...