Ir para conteúdo
  • Cadastre-se

dev botao

AcBrLibNFSe Access violation


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

Recommended Posts

  • Consultores
Postado

@Thiago Henrique Gaspar
Nos meus teste c# nao apareceu este AV,  qual Linguagem que vc esta usando no desenvolvimento?
Tente enviar da forma abaixo, parametro sincrono:
NFSE_Emitir(1, 2, false).

Vou te mandar um link p vc ver se existe exemplo para sua linguagem, se puder fazer o favor de testar com o exemplo, assim fica mais facil identificarmos o erro
Chegou a preencher os dados acbrlib.ini?
image.png

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado
20 minutos atrás, Daniel InfoCotidiano disse:

@Thiago Henrique Gaspar
Nos meus teste c# nao apareceu este AV,  qual Linguagem que vc esta usando no desenvolvimento?
Tente enviar da forma abaixo, parametro sincrono:
NFSE_Emitir(1, 2, false).

Vou te mandar um link p vc ver se existe exemplo para sua linguagem, se puder fazer o favor de testar com o exemplo, assim fica mais facil identificarmos o erro
Chegou a preencher os dados acbrlib.ini?
image.png

Ola, obrigado pelo retorno.

Tentei mudara para 2 e mesmo assim deu erro. Estou usando a linguagem do Python.

Se tento informar 0 no arguemnto do lote, recebo: Número do Lote não informado.

 

Acredito que pode ser algo como o numero do lote então, para mim criar este numero do lote no AcbLibNFSe qual configuração devo passar? 

  • Consultores
Postado

O AV deve estar sendo gerado por dependências incorretas.

O erro de lote é dado pela biblioteca antes de tentar a transmissão. 

O lote estando correto, a transmissão é feita e ocorre erro devido às dependências. 

Copie as dlls da OpenSSL e LibXml2 para a pasta da aplicação respeitando a arquitetura da associação, se ela for x86 utilize x86, mesmo que o SO seja x64.

https://acbr.sourceforge.io/ACBrLib/Dependencias.html

  • Membros Pro
Postado
1 hora atrás, Renato Rubinho disse:

O AV deve estar sendo gerado por dependências incorretas.

O erro de lote é dado pela biblioteca antes de tentar a transmissão. 

O lote estando correto, a transmissão é feita e ocorre erro devido às dependências. 

Copie as dlls da OpenSSL e LibXml2 para a pasta da aplicação respeitando a arquitetura da associação, se ela for x86 utilize x86, mesmo que o SO seja x64.

https://acbr.sourceforge.io/ACBrLib/Dependencias.html

Estou utilizando as Dll correta, tanto que no modulo AcBrNfe funciona perfeitamente, porem estou integrando a NFSe agora e esta dando este erro dai.

  • Consultores
Postado
10 horas atrás, Thiago Henrique Gaspar disse:

AcBrNfe funciona perfeitamente, porem estou integrando a NFSe agora e esta dando este erro dai.

No mesmo computador funciona a NFe?

Utilize o método NFSE_OpenSSLInfo para identificar qual dll está sendo utilizada para confirmar.

  • Consultores
Postado

Bom dia Thiago.

Com seu exemplo, realmente acontece o AV aqui comigo. não identifiquei, talvez por eu nao dominar a linguagem.
Entao testei o seu ACBrLib.INI, com a sua NFSe,ini funciona em MT no C#
Unica mudanca q fiz, os caminhos pois meus paths sao outros
e o certificado o meu tem o nome curto, exemplo testeCer.pfx
o seu nome do certicado esta gigante com outros caracteres especiais, tente so p a fim de testar, mudar e deixar como certificado.pfx (depois vc volta ao normal.)
PathLogo=
 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado
1 hora atrás, Daniel InfoCotidiano disse:

Bom dia Thiago.

Com seu exemplo, realmente acontece o AV aqui comigo. não identifiquei, talvez por eu nao dominar a linguagem.
Entao testei o seu ACBrLib.INI, com a sua NFSe,ini funciona em MT no C#
Unica mudanca q fiz, os caminhos pois meus paths sao outros
e o certificado o meu tem o nome curto, exemplo testeCer.pfx
o seu nome do certicado esta gigante com outros caracteres especiais, tente so p a fim de testar, mudar e deixar como certificado.pfx (depois vc volta ao normal.)
PathLogo=
 

Testei remoendo os caraters especiais e encurtando o caminho para raiz, porém o erro persiste. :(

  • Consultores
Postado

Bom dia !
Por favor pode realizar uns testes em seu ambiente.
Vi q ele carrega a lib com sucesso e o INI tbm.
Mas em metodos q existe o retorno ele da erro.
E vc trata de uma forma diferente.

    resposta = read_string_buffer(self, metodo, lote, modo_envio, imprimir)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Eu acho q o problema pode estar relacionado aos parametros passados para obter a reposta:
image.png

 

Tem como comparar com o seu outro programa q esta funcionando se é multithread e se esta tratando desta mesma forma as msg?
"NFSE_Emitir": Signature([POINTER(c_int), c_int, c_int, c_bool, c_char_p, POINTER(c_int)])

Por não dominar a linguagem, nao posso informar, mas olhando outros exemplo ST sao criado  umas variaveis para tratar esta resposta do metodo

     # Definir variáveis para armazenar os resultados
        sResposta = ctypes.create_string_buffer(9048) 
        esTamanho = ctypes.c_int(9048)


Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado
23 minutos atrás, Daniel InfoCotidiano disse:

Bom dia !
Por favor pode realizar uns testes em seu ambiente.
Vi q ele carrega a lib com sucesso e o INI tbm.
Mas em metodos q existe o retorno ele da erro.
E vc trata de uma forma diferente.

    resposta = read_string_buffer(self, metodo, lote, modo_envio, imprimir)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Eu acho q o problema pode estar relacionado aos parametros passados para obter a reposta:
image.png

 

Tem como comparar com o seu outro programa q esta funcionando se é multithread e se esta tratando desta mesma forma as msg?
"NFSE_Emitir": Signature([POINTER(c_int), c_int, c_int, c_bool, c_char_p, POINTER(c_int)])

Por não dominar a linguagem, nao posso informar, mas olhando outros exemplo ST sao criado  umas variaveis para tratar esta resposta do metodo

     # Definir variáveis para armazenar os resultados
        sResposta = ctypes.create_string_buffer(9048) 
        esTamanho = ctypes.c_int(9048)


Bom dia,

O Cte funciona tbm, posso fazer um exemplo mais simples para você testar.

Tanto que seu eu passo 0 no parametro de lote, no metodo NFSE_Emitir, ele me retorna o erro que o lote è inexistente, se eu passo 1 no lote ele da o AccessViolation.

  • Consultores
Postado
16 minutos atrás, Thiago Henrique Gaspar disse:

Tanto que seu eu passo 0 no parametro de lote, no metodo NFSE_Emitir, ele me retorna o erro que o lote è inexistente, se eu passo 1 no lote ele da o AccessViolation.

Vou testar isso !
Criado a TK 5594 para analise

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Consultores
  • Solution
Postado

Por favor verifique o primeiro parametro lote, q ele nao esta gerando quando passamos o Zero.
a esquerda é o log do seu projeto Python e direita é o log c# com a mesma dll.
image.png

  • Curtir 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado
55 minutos atrás, Daniel InfoCotidiano disse:

Por favor verifique o primeiro parametro lote, q ele nao esta gerando quando passamos o Zero.
a esquerda é o log do seu projeto Python e direita é o log c# com a mesma dll.
image.png

Era isso mesmo Daniel, o tipo do argumento estava como inteiro, alterado para string finciou perfeitamente!! Obrigado.

  • Curtir 2
  • Este tópico foi criado há 152 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.