Ir para conteúdo
  • Cadastre-se

dev botao

ACBr Monitor - Erro ao ler arquivo de retorno


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

Recommended Posts

Pessoal do VB.net
Estou com esse pequeno problema.

O que está acontecendo é que o meu sistema lê o arquivo de retorno quando o Monitor está escrevendo ele e dá essa exceção sem tratamento.

Alguém já se deparou com algo parecido ou me sugere alguma alternativa que não seja um timer para dar um delay na verificação do arquivo ?

image.png.30c0260feb4230088adcffc41e3c1696.png

 

Desde já agradeço a atenção dos amigos...

Link para o comentário
Compartilhar em outros sites

StackOverflowException é erro de estouro de pilha você deve estar fazendo algo que ta acabando com a memoria do app, erro de acesso ao arquivo é outro.

https://msdn.microsoft.com/pt-br/library/w6sxk224.aspx

Citar
Um StackOverflowException exceção é lançada quando a pilha de execução excede por ter muitas chamadas de método aninhadas.

Outra coisa na pasta do SVN dentro da pasta Projetos\ACBrMonitorPLUS\Lazarus\Exemplos tem um exemplo de como usar comunicação TCP com o monitor é mais rápida e não depende de arquivos.

  • Curtir 3

 

Link para o comentário
Compartilhar em outros sites

  • Solution

Rafael, Obrigado pela dica!

Mas consegui resolver meu problema, espero que no futuro essas informações esclareçam o problema de outros...

Tomando como exemplo (RETORNO.TXT) O ACBr Monitor gera um arquivo com o nome RETORNO.TMP e após escrever o arquivo ele renomeia para RETORNO.TXT

resolvi meu problema fazendo os seguintes procedimentos:

1 - Preencho o NOTA.INI

2 - Preencho o COMANDO.TXT [ NFe.CriarEnviarNFe("C:\ACBrMonitorPlus\NOTA.ini",1,1) ]

[Nesse momento que acontece a criação do RETORNO.TMP e posterior renomeio para RETORNO.TXT]

3 - Crio uma function com FileSystemWatcher do VB.net (recurso presente em outras linguagens também) e com o mesmo faço o monitoramento dos processos RENAMED.
Quando um arquivo é renomeado para RETORNO.TXT dentro do diretório então chamo minha função para LER o txt e tomar a decisão final do que fazer com o retorno do sefaz!

Se quiserem o código fonte em VB.net disponibilizo com praqzer... só chamar!

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

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