Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Senhores,

A alguns anos sei da falta de compatibilidade do componente com Delphi mais antigos, então para contornar isso tenho um programinha tipo um micro ACBrMonitor, com um Delphi mais novo (DXE6) que faz todo o trabalho de ler o XML, certificado, assinar, enviar e retornar o XML autorizado, e então com o Delphi antigo (D6) apenas utilizo o componente TACBrNFe para preenchê-lo e gerar o arquivo XML (sem nem sequer assinatura) que é enviado para o meu micro ACBrMonitor.

Basicamente no Delphi antigo uso apenas algo do tipo:

ACBrNFe1 := TACBrNFe.Create(Self);

ACBrNFe1... (preenche tudo que tiver que preencher)

ACBrNFe1.NotasFiscais.Items[0].GravarXML('Teste.xml', ExtractFilePath(ParamStr(0)));

(depois)

ACBrNFe1.NotasFiscais.Clear;

ACBrNFe1.NotasFiscais.LoadFromFile(Path + NomeArqResp);

Assim não preciso gerar o XML na mão, utilizando o componente para isso.

Utilizo essa estrutura a muito tempo e só atualizo o ACBr quando vem uma grande modificação, que está acontecendo agora com a versão 4.0 com vários novos atributos. Então eu forço a instalação do componente de forma manual, igual fazia antigamente sem ter o ACBrInstall_Trunk2.exe, abrindo pacote por pacote e compilando e instalando alguns. Com algumas adaptações consigo instalar o componente, mas infelizmente, até onde achava que meus problemas se resumiam a apenas conseguir instalar o componente... para minha surpresa ao tentar gerar o XML dá uma Access Violation internamente que não dá para identificar do que se trata, em funções simples de manipulação de string.

Não sei o motivo do Access Violation, não entendo quando leio sobre as diferenças de tratamento de strings nos compiladores do Delphi, se é UNICODE ou sei lá o quê... mas acho que pode ser algo nesse sentido que possa estar ocorrendo o erro.

Pessoal, depois de toda essa situação exposta, o que peço é a ajuda de vocês para me dar um direcionamento, sugestão, dica do que posso fazer para conseguir evitar o erro. Vale lembrar que não estou pedindo nenhuma alteração no componente, só que me auxiliem a contornar o problema com a experiência que possuem, pois já estou quase jogando a toalha e a última tentativa é que possam me ajudar.

Desculpe o tamanho da mensagem... mas infelizmente não sei mais o que fazer. Qualquer ajuda será bem vinda.

Fabrício Gomes Araújo

Postado

Qual Windows e certificado?
Tive um problema parecido, porém, não havia nenhuma relação com o ACBr, embora o Access Violation apresentava no momento de assinar a NFe.

Solução: No atalho do meu sistema, o rapaz colocou para executar em modo de "compatibilidade", pedi para apagar o atalho e executar o sistema diretamente pelo executável. Resolveu o problema. Talvez seja isso, pois compilo tanto no D7 quanto no D2010.

 

 

_____________

Prates, Agnaldo

Postado

@Agnaldo Prates, Win7, mas nem sequer é informado o certificado, o erro ocorre na geração do XML auxiliar, sem assinatura nem nada, só que é no ambiente do finado D6. Fiz teste com modo de compatibilidade e não faz diferença.

Se de tudo não conseguir fazer funcionar o componente atualizado no D6, essa geração simplificada do XML, assim que jogar a toalha, a única opção que tenho é programar todos os novos atributos no meu antigo ACBr que está funcionando no meu D6, onde os fontes são do início do ano passado, funcionando tudo direitinho para v.3.10.

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