Ir para conteúdo
  • Cadastre-se

dev botao

Violaçao De Memoria


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

Recommended Posts

bom dia, 

estou tendo um problema que só acontece na operação de cancelamento.

utilizo o acbrnfemonitor e intemitentemente quando é necessário cancelar alguma nfe, o monitor me retorna uma mensagem de violação de memoria. este erro ja ocorreu no meu escritório,  em 3 pcs diferentes 1 com windows 8 64bits outro com xp pro e outro com windows 7 32 bits. No cliente está em um pc windows 7 32bits.

 

 

meu software mostra mensagem conforme imagem em anexo, na janela do monitor é exibida a mesma mensagem. atualmente estou usando a versão 0.7.18.3. já tentei restaurar o sistema operacional, desinstalei o acbr e reinstalei do zero mas nada resolveu o problema. porem como eu ja disse as vezes cancela normalmente, mas na maioria das vezes este erro está ocorrendo.

o problema maior é que de uma semana pra cá o está demorando muito para conseguir cancelar e em algumas notas está expirando o prazo de cancelamento.

 

alguém tem alguma dica do que eu posso fazer  pra sanar o problema?

 

 

Obrigado a todos.

post-10121-0-55772300-1388146648_thumb.j

Link para o comentário
Compartilhar em outros sites

Bom dia, qual o método que você está chamando para efetuar o cancelamento? Mostre o trecho do seu código para que possamos ajuda-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

 

Link para o comentário
Compartilhar em outros sites

 
uso visual basic neste projeto e criei a rotina abaixo para realizar o cancelamento.
como já mencionei antes uso o acbrnfemonitor e me comunico via sockets.
 
Public Function nfe_cancelarnfe(cChave As String, cMotivo As String, cNFe As Long, cNProt As String, cCNPJ As String) As Boolean
       Dim m As String, gTmp As String, cXMLCancelamento As String
       Screen.MousePointer = vbHourglass
       m = Mensagem("Solicitando Cancelamento da NFE na SEFAZ, Aguarde ...")
       If TudoOK() Then 'Analiza se o monitor estar ativo
          'envia comando via tcpip
 wConnect.SendData "NFe.CancelarNFe(" & cChave & "," & cMotivo & ")" & endCommand
          waitComandoResponse ' aguarda resposta do monitor
          If bOk = 1 Then 'monitor respondeu ok
             x = Me.nfe_getlote 'gera nº do lote
             If SalvarLote("CANCELAMENTO") Then 'salva no banco o retorno do monitor
                ' analiza o status 
     If pegaPartesRetornoNFE("[CANCELAMENTO]", "CStat=") = 101 Or pegaPartesRetornoNFE("[CANCELAMENTO]", "CStat=") = 135 Then
                   'pega o xml de cancelamento
  lPos = InStr(cRetorno, "XML=")
                   cXMLCancelamento = Mid(cRetorno, lPos + 4)
                   RaiseEvent NFeCancelada(cNFe, cChave, pegaPartesRetornoNFE("[CANCELAMENTO]", "NProt="), cXMLCancelamento)
                   nfe_cancelarnfe = True
                   RaiseEvent Alerta(0, pegaPartesRetornoNFE("[CANCELAMENTO]", "xEvento="))
                ElseIf pegaPartesRetornoNFE("[CANCELAMENTO]", "CStat=") >= 200 Then
                   RaiseEvent Alerta(0, pegaPartesRetornoNFE("[CANCELAMENTO]", "XMotivo="))
                End If
             End If
          End If
          If bErro <> "" Then RaiseEvent Erro(0, bErro)
       End If
       Mensagem m
       Screen.MousePointer = vbDefault
End Function
Link para o comentário
Compartilhar em outros sites

só complementando, a mensagem apresentada não é gerada pelo meu software ela vem pelo retorno do socket enviada pelo monitor ao meu software a mensagem completa recebida pelo socket é "Erro::Access violation at address 00404c78 in 

module ACBrNFeMonitor.exe. Read of address 4851783A".
Link para o comentário
Compartilhar em outros sites

No ACBrNFeMonitor ta marcado a opção para efetuar o cancelamento por Evento? O comando CancelarNFe() é antigo, para que ele funcione por evento deve a opção Cancelamento por evento deve esta marcada.

 

Tem vários relatos desse erro, se fizermos uma pesquisa veremos que pode ser a Hora enviada coma Hora do SEFAZ, já me ocorreu por falta de conexão com Internet.

 

Caso nada disso esteja ocorrendo, aconselho anexar o log quando o erro ocorrer para que um analista dessa área de uma lida e descubra exatamente o comando que está ocasionando essa violação. 

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

boar tarde,

já esta marcado a opção "por evento".

ativei o log  de comandos enviados e recebidos e assim que ocorrer novamente o problema eu entro em contato novamente.

 

gostaria de saber se eu encerro este post ou se aguardo mais um pouco.

 

 

obrigado.

Link para o comentário
Compartilhar em outros sites

Dê continuidade a esse 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

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Você está enviando o texto entre aspas?

 

 NFe.CancelarNFe(26131208584745000157550010000030291000030292,ERRO DIGITACAO)

 NFe.CancelarNFe("26131208584745000157550010000030291000030292","ERRO DIGITACAO")

 

 

Esperando por comandos.

30/12/2013 14:29:42 - NFe.CancelarNFe(26131208584745000157550010000030291000030292,ERRO DIGITACAO)
ERRO: Access violation at address 007B7488 in module 'ACBrNFeMonitor.exe'. Read of address 0000001C
30/12/2013 14:29:44 - NFe.CancelarNFe(26131208584745000157550010000030291000030292,ERRO DIGITACAO)
ERRO: Access violation at address 007B7488 in module 'ACBrNFeMonitor.exe'. Read of address 0000001C
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

boa tarde, 

 

realmente não estava com as aspas. Coloquei mas o erro persistiu.

porem notei um fato novo.

na aba webservices estava marcada a opção "Salvar arquivos Enviados/Recebidos p/WebServices", a qual estava apondando  para a pasta "C:\XML". e o problema não ocorreu mais.

 

estou realizando mais alguns testes para informar. porem o arquivo XML retonado não vem assinado após esta opção ser desmarcada.

Link para o comentário
Compartilhar em outros sites

×
×
  • 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...