Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom Dia

estou com um problema que quando eu utilizo alguma rotina da dll após algum tempo, meu sistema fecha sem dar erro no Windows 10, Windows 7 ele esvanece. Será que é algo que estou fazendo errado ou esta faltando fazer?

Utilizo o [x]Harbour 1.0.0

ACBrLibNFE-20200525.log

  • Fundadores
Postado

Me parece que você está chamando LIB_Inicializar e LIB_Finalzar, a cada operação com a Lib... isso não é necessário.. (e pode deixar seu sistema mais lento)

Inicialize no Inicio da sua aplicação (ou quando for fazer o primeiro Uso da Lib), e Finalize apenas quando sair de sua aplicação.

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado

Bom Dia Daniel Vamos ver se entendi.

iniciando o sistema crio o Objeto publico nfe := acbrnfe:new() e quando finalizar o sistema eu finalizo é isto?

Postado
10 minutos atrás, Daniel Simoes disse:

Creio que sim... mas logo o @Rafael Dias, aparece e dá mais detalhes do melhor uso da classe em alto nível...

Beleza muito Obrigado fazer um teste com a sugestão que você me deu.

  • Curtir 1
Postado
6 horas atrás, Daniel Simoes disse:

Creio que sim... mas logo o @Rafael Dias, aparece e dá mais detalhes do melhor uso da classe em alto nível...

Daniel Realizei testes do modo que voce me passou o problema do sistema finalizar sem erro apos utilizar a lib ainda continua 

Postado
Agora, Daniel Simoes disse:

Você consegue reproduzir o problema com o Demo disponibilizado pelo ACBr ?

Em que momento exato, o sistema é abortado ? É sempre no mesmo local ?

no demo não consigo, ele aporta apos eu usar a lib vou para uma consulta no meu sistema ele aborta, não e sempre no mesmo local 

Postado
7 horas atrás, Juliomar Marchetti disse:

Para que possamos reproduzir aqui e entender precisamos que faça ocorrer com o exemplo do SVN e dai com esses passos será possível identificar

Bom Dia Juliomar tudo bem? então o problema não sei se é com a dll porque ela me da o retorno corretamente porem depois de usar ela navegando pelo meu sistema ele fecha, se eu não invocar nenhum rotina da dll e navegar no meu sistema isso não ocorre. Não sei se é algo que estou fazendo de errado ou esta faltando fazer, eu estou usando a Classe ACBrNFe compilando junto com meu sistema e invocando os method dela

Postado
9 horas atrás, Juliomar Marchetti disse:

Para que possamos reproduzir aqui e entender precisamos que faça ocorrer com o exemplo do SVN e dai com esses passos será possível identificar

Juliomar Será que não pode ser algo que esta perdendo a dll?

porque eu utilizo da seguinte forma

ao abrir o sistema crio objeto publico que vai receber method new()

e durante a execução e finaliza sem ter ponto especifico,  será que não esta ocorrendo algum conflito de dll ou em algum momento ela esta parando de responder?

 

Agora, SisTerra disse:

Juliomar Será que não pode ser algo que esta perdendo a dll?

porque eu utilizo da seguinte forma

ao abrir o sistema crio objeto publico que vai receber method new()

e durante a execução e finaliza sem ter ponto especifico,  será que não esta ocorrendo algum conflito de dll ou em algum momento ela esta parando de responder?

 

eu utilizo o [X]Harbour 1.0.0 será que talvez não pode ser algum conflito ?

Postado (editado)
1 hora atrás, Rafael Dias disse:

Pelo que andei lendo o [x]Harbour e o Harbour tem um problema com classe na hora do destructor que é meio aleatório, eu to vendo uma maneira de contorna esta situação.

Esse erro ocorre no controle interno do Harbour e pelo visto ainda não foi corrigido.

https://vivaclipper.wordpress.com/tag/object-destructors/

Então pelo jeito Rafael vou ter que usar sem a classe? Ate que tem um solução para contornar

Editado por SisTerra
Faltou informação
Postado
1 hora atrás, Rafael Dias disse:

Pelo que andei lendo o [x]Harbour e o Harbour tem um problema com classe na hora do destructor que é meio aleatório, eu to vendo uma maneira de contorna esta situação.

Esse erro ocorre no controle interno do Harbour e pelo visto ainda não foi corrigido.

https://vivaclipper.wordpress.com/tag/object-destructors/

se fosse para eu usar a dll sem a classe como ficaria uma rotina de consultar status do serviço poderia meu dar um auxilio?

Postado

@SisTerra
Você esta usando a classe original e sem heranças? por favor, anexe o PRG (zip) do ACBR.

1-Poste o trecho do código que você instancia a classe, incluindo 5 linhas antes e 10 linhas depois
2-Poste o trecho do código que termina o uso da classe, 10 linhas antes e 5 linhas depois
3-É possível você usar versão mais nova do xHarbour? a sua versão é de 2007.
Para facilitar, duplique o seu script de compilação e corrija-o se necessário.

Conforme o caso, tenho algumas dicas.

@Daniel Simoes
A inicialização da DLL é controlada pela classe, não pelo programador. Instanciar a classe múltiplas vezes é o processo natural. Manter ou não a dll na memória, é definida na construção da classe, por enquanto acho desnecessário modificar a classe.

@Rafael Dias
Essa DLL exibe algum form ou mensagem?
Já tive problemas com DESTRUCTOR, mas era numa situação mais complexa. Atualmente eu uso DESTRUCTOR na minha classe (API/WebService), que também possui um handle/ponteiro de DLL. Uso com receio. No seu caso acho menos provável, é mais simples, sem heranças, código compilado na app.
Irei postar algumas práticas, que solucionou em outra situação.

Atenciosamente,
Eric, Analista de sistemas
Delphi | x/Harbour | Xailer | FastReport
Fivewin, Minigui, HMG, ooHG, Hwgui
www.idlagam.com > Serviços & Orçamentos
Postado (editado)
27 minutos atrás, Eric.Developer disse:

@SisTerra
Você esta usando a classe original e sem heranças? por favor, anexe o PRG (zip) do ACBR.

1-Poste o trecho do código que você instancia a classe, incluindo 5 linhas antes e 10 linhas depois
2-Poste o trecho do código que termina o uso da classe, 10 linhas antes e 5 linhas depois
3-É possível você usar versão mais nova do xHarbour? a sua versão é de 2007.
Para facilitar, duplique o seu script de compilação e corrija-o se necessário.

Conforme o caso, tenho algumas dicas.

@Daniel Simoes
A inicialização da DLL é controlada pela classe, não pelo programador. Instanciar a classe múltiplas vezes é o processo natural. Manter ou não a dll na memória, é definida na construção da classe, por enquanto acho desnecessário modificar a classe.

@Rafael Dias
Essa DLL exibe algum form ou mensagem?
Já tive problemas com DESTRUCTOR, mas era numa situação mais complexa. Atualmente eu uso DESTRUCTOR na minha classe (API/WebService), que também possui um handle/ponteiro de DLL. Uso com receio. No seu caso acho menos provável, é mais simples, sem heranças, código compilado na app.
Irei postar algumas práticas, que solucionou em outra situação.

@Eric.Developer Bom Dia tudo bem?

Então a classe estou usando é a que esta no link o fonte ACBRNFe.prg

http://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Harbour/NFe/

 

1 - Estou instanciando ela somente na inicialização do sistema.

nfe := ACBRNFe:new("Path do arquivo Ini")

2 - nfe:consultar("Chave da NFe"), trato o retorno para salvar algumas informações no banco de dados e apresentar mensagem para o usuario, após este procedimento não uso o Destroy().

3 - Sobre Atualizar ja tentamos Atualizar porem ocorreu muitos erros tanto no [x]Harbour quanto no HWGUI.

 

Segue em anexo uma imagem do código de consulta

consulta.png

Editado por SisTerra
anexo imagem de um codigo
Postado

@SisTerra
Crie um pequeno teste e reporte. Edite o demo do acbr, com os seus parâmetros e as operações usadas no seu sistema.
Essa DLL exibe algum form ou mensagem?

@Daniel Simoes
a minha classe para manipular ini (arquivo/memória) usada no meu kit, simplifica e é mais segura. Olha a trabalheira e se mudar maiúscula/minúscula de qualquer letra...

1 hora atrás, SisTerra disse:

consulta.png

 

Atenciosamente,
Eric, Analista de sistemas
Delphi | x/Harbour | Xailer | FastReport
Fivewin, Minigui, HMG, ooHG, Hwgui
www.idlagam.com > Serviços & Orçamentos
Postado
11 minutos atrás, Eric.Developer disse:

@SisTerra
Crie um pequeno teste e reporte. Edite o demo do acbr, com os seus parâmetros e as operações usadas no seu sistema.
Essa DLL exibe algum form ou mensagem?

@Daniel Simoes
a minha classe para manipular ini (arquivo/memória) usada no meu kit, simplifica e é mais segura. Olha a trabalheira e se mudar maiúscula/minúscula de qualquer letra...

 

Ate o momento não apresentou nenhuma mensagem da DLL

Postado
19 minutos atrás, Eric.Developer disse:

@SisTerra
Crie um pequeno teste e reporte. Edite o demo do acbr, com os seus parâmetros e as operações usadas no seu sistema.
Essa DLL exibe algum form ou mensagem?

@Daniel Simoes
a minha classe para manipular ini (arquivo/memória) usada no meu kit, simplifica e é mais segura. Olha a trabalheira e se mudar maiúscula/minúscula de qualquer letra...

 

@Eric.Developer Será que meu caso não pode ser a lib estando e memória junto com o sistema ela por algum motivo para ou o sistema perder ela da memória acontecer este problema que esta acontecendo comigo?

voce não conseguiria me dar um exemplo de de como voce faria em uma simples consulta de uma nota? porque talvez é algo que estou fazendo ou deixando de fazer que acabou dando este problema.

Postado
Em 28/05/2020 at 11:56, Eric.Developer disse:

@SisTerra
novamente, por favor, siga a minha orientação anterior, é muito importante.

Estou realizando o processo que você pediu porem mesmo com as alterações no demo para meus parâmetros não consigo fazer o que ocorre quando utilizo dentro do do meu sistema.

Postado
11 minutos atrás, SisTerra disse:

Estou realizando o processo que você pediu porem mesmo com as alterações no demo para meus parâmetros não consigo fazer o que ocorre quando utilizo dentro do do meu sistema.

e o demo ocorre o mesmo erro do Destroy que ocorre dentro do meu sistema.

Postado
Em 27/05/2020 at 19:32, Daniel Simoes disse:

@SisTerra, estamos vendo qual a melhor opção para a sua linguagem..

Boa Tarde Daniel tudo bem?

conseguiram identificar a melhor opção para usar a classe com minha linguagem?

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