Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia

 

Estou no meio de minha homologação do PAF-ECF e no menu fiscal está dando erro no ARQ MF e MFD, dá um erro de acces violation e não baixa o arquivo.

 

já atualizei as dlls e registrei na system 32, WIN 7 32 bits

 

Alguém poderia me dar uma luz

 

Eu já tinha testando com a DARUMA , mas na homologação eu trouxe uma bematech mp4000 ...pelo winmfd ele faz normalmente mas pelo meu paf não

 

Agradeço qualquer ajuda.

 

Irei postar aqui todas as dificuldades que tive na homologação.

Postado

Todas DLL estão no mesmo diretório do seu EXE?

--
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

 

Postado

obrigado ISAQUE

 

No mesmo teste o Arquivo foi gerado, mas o ECFC nao esta validando a assinatura

 

const

  NomArquivo_Bin: String = 'ArquivoMF.mf';

  NomArquivo_TXT: String = 'ArquivoMF.TXT';

var

  Path: String;

  EADStr: String;

begin

  Path := ExtractFilePath(Application.ExeName) + 'arquivos\';

  // Se o Arquivo Existe Apaga

  if FileExists(Path + NomArquivo_Bin) then

    deletefile(pchar(Path + NomArquivo_Bin));

  TRY

    //ECF.PafMF_Binario('C:\' + NomArquivo);

    ECF.PafMF_ArqMF('C:\' + NomArquivo_Bin);

  FINALLY

    RenameFile('C:\' + NomArquivo_Bin, Path + NomArquivo_Bin);

    RenameFile('C:\' + NomArquivo_Txt, Path + NomArquivo_txt);

    Aviso(Format('Arquivo gerado com sucesso em:'#13#10' "%s"', [Path + NomArquivo_Bin]  ), TAviso);

  END;

 

Alguma Dica?

Postado

Você está assinando antes ou depois de renomear o arquivo ?

--
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

 

Postado (editado)

Não estou assinando diretamente

 

a Função PafMF_ArqMF gera um TXT com o EAD.

 

Mas este EAD não fica igual ao gerado pela função assinar do acbr

 

Fiz um teste assinando o arquivo .mf e ai a assinatura bateu.

 

pegando o EAD do arquivo txt gerado pelo ACBR nao bate

Editado por softcom.wendel
Postado

No caso de vc está renomeando o arquivo, acredito que vc terá que reassinar, após renomeá-lo.

--
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

 

Postado

não estou falando do binário e sim do TXT, se vc está gerando assinado ele depois de renomear o binário

--
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

 

Postado

Resolvi usando uma técnica de POG ( Programção orientada a gambiarra )

 

const
  NomArquivo_Bin_BK: String = 'ArquivoMFBK.mf';
  NomArquivo_Bin: String = 'ArquivoMF.mf';
  NomArquivo_TXT: String = 'ArquivoMF.TXT';
var
  Path: String;
  EADStr: String;
begin
  Path := ExtractFilePath(Application.ExeName) + 'arquivos\';

  // Se o Arquivo Existe Apaga
  if FileExists(Path + NomArquivo_Bin) then
    deletefile(pchar(Path + NomArquivo_Bin));

  TRY
    ECF.PafMF_ArqMF('C:\' + NomArquivo_Bin);
  FINALLY
    //BACKUP DO ARQUIVO
    CopyFileTo( 'C:\' + NomArquivo_Bin, 'C:\' + NomArquivo_Bin_BK );

    //ASSINAR O ARQUIVO
    Assinar( 'C:\' + NomArquivo_Bin_BK, false );

    //COPIAR PARA O DIRETORIO
    RenameFile('C:\' + NomArquivo_Bin, Path + NomArquivo_Bin);

    //LER O EAD DO ARQUIVO
    EADStr := ECF.EAD.LeEADArquivo( 'C:\' + NomArquivo_Bin_BK );

    RenameFile('C:\' + NomArquivo_Txt, Path + NomArquivo_txt);

    //REESCREVER O TXT
    Alterar_EAD ( Path + NomArquivo_txt, EADStr);

    Aviso(Format('Arquivo gerado com sucesso em:'#13#10' "%s"', [Path + NomArquivo_Bin]  ), TAviso);
  END;
 

 

fazer o que né..r.ssss  estou no meio da homologação

 

vlw isaque

Postado

hehehe, é desse jeito mesmo.

--
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

 

  • Este tópico foi criado há 3525 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...