SISTEMA EM VB6 FECHANDO MISTERIOSAMENTE
Pessoal, muito boa tarde..... Sei que estou bastante sumido, mas o tempo por aquà anda muito escasso tbem para vir aquà e aparecer de vez em quando....
Bom galerinha, é o seguinte:
Tenho uma aplicação feito 100% por mim, ao qual ela faz a leitura biométrica, identifica a pessoa e só aÃ, depois, libera a catraca para a pessoa entrar ou não a academia.
O Sistema está rodando 90% OK, com poucos problemas ainda para serem solucionados, aonde aos pouco estou resolvendo, já que nem tempo para testar eu tive e o meu teste está sendo feito em ambiente de produção mesmo nas unidades da academia.
Só que, tem um [Ô]pau gosado[Ô] que está dando, que eu de forma alguma conseguà capturar aonde é que ele esteja.
Em um determinado momento (o sistema pode estar em uso, ou estar parado aguardando a leitura digital), o sistema simplesmente se FECHA [Ô]do nada[Ô].
Para fazer com que a leitura biométrica funcionasse, eu trabalho com algumas DLL's ao qual adquirà do fabricante, mas o que me deixa surpreso é que não tem uma ação definida para que o sistema se feche.
A única [Ô]dica[Ô] ao qual eu possuo, é que ele se fecha quando o sistema está aberto na tela de reconhecimento das digitais, e é uma tela ao qual ela fica aberta 99% do dia nas academias. Se eu deixar outras telas abertas sem que ela esteja aberta junto, o sistema não se fecha, agora, se ela está aberta sozinha ou junto de outras, o sistema simplesmente fecha sem me dar nenhum tipo de erro.
Tem dias que o sistema fica [Ô]crÃtico[Ô] e se fecha dezenas de vezes por dia, mas tem dias que o sistema até que está [Ô]bonzinho[Ô], e se fecha somente algumas poucas vezes.
Por acaso, alguém saberia como eu poderia [Ô]depurar[Ô] este executável para conseguir descobrir em qual momento que ele está se fechando?? Se é na chamada de alguma DLL deste fabricante, ou se é algum problema com o meu código que em algum determinado momento não esteja funcionando perfeitamente???
Muito obrigado, e conto com a ajuda de VC's.....
Bom galerinha, é o seguinte:
Tenho uma aplicação feito 100% por mim, ao qual ela faz a leitura biométrica, identifica a pessoa e só aÃ, depois, libera a catraca para a pessoa entrar ou não a academia.
O Sistema está rodando 90% OK, com poucos problemas ainda para serem solucionados, aonde aos pouco estou resolvendo, já que nem tempo para testar eu tive e o meu teste está sendo feito em ambiente de produção mesmo nas unidades da academia.
Só que, tem um [Ô]pau gosado[Ô] que está dando, que eu de forma alguma conseguà capturar aonde é que ele esteja.
Em um determinado momento (o sistema pode estar em uso, ou estar parado aguardando a leitura digital), o sistema simplesmente se FECHA [Ô]do nada[Ô].
Para fazer com que a leitura biométrica funcionasse, eu trabalho com algumas DLL's ao qual adquirà do fabricante, mas o que me deixa surpreso é que não tem uma ação definida para que o sistema se feche.
A única [Ô]dica[Ô] ao qual eu possuo, é que ele se fecha quando o sistema está aberto na tela de reconhecimento das digitais, e é uma tela ao qual ela fica aberta 99% do dia nas academias. Se eu deixar outras telas abertas sem que ela esteja aberta junto, o sistema não se fecha, agora, se ela está aberta sozinha ou junto de outras, o sistema simplesmente fecha sem me dar nenhum tipo de erro.
Tem dias que o sistema fica [Ô]crÃtico[Ô] e se fecha dezenas de vezes por dia, mas tem dias que o sistema até que está [Ô]bonzinho[Ô], e se fecha somente algumas poucas vezes.
Por acaso, alguém saberia como eu poderia [Ô]depurar[Ô] este executável para conseguir descobrir em qual momento que ele está se fechando?? Se é na chamada de alguma DLL deste fabricante, ou se é algum problema com o meu código que em algum determinado momento não esteja funcionando perfeitamente???
Muito obrigado, e conto com a ajuda de VC's.....
vc já tentou instalar o vb na maquina e executar o sistema como projeto ainda, sem for o executável?,talvez ele de algum erro no projeto naquela maquina que vc ainda não conseguiu debugar,e rodando direto do projeto ele pode dar o erro e vc consiga ver em qual linha está o problema.
abraço!
abraço!
Caro LUIZ,
Eu já fiz estes testes até em minha máquina mesmo, debugando e tentando descobrir aonde é que está o problema.
E na minha máquina mesmo, mesmo rodando pelo VB6, ele acontece a mesma coisa, não sendo possÃvel IMAGINAR aonde é que está o problema.
Pois se eu ficar rodando debugando, o sistema irá rodar perfeitamente........... Mas depois de um certo tempo, ele pega e se fecha do nada, sem passar por onde eu IMAGINAVA que pudesse acontecer o problema.
PS: Tenho um objeto TIMER rodando, ao qual eu estou [Ô]ligando e desligando[Ô] os 2 leitores biométricos que tenho ligado no micro, já que, para que os 2 funcionem, preciso ligar um, e deixar o outro desligado, e depois, fazer o inverso. Faço este processo a cada 2 segundos em média, tempo ao qual nem é possÃvel notar o desligamento deles.
Mas isso não é desculpa, pois em uma outra unidade, o sistema possui somente 1 leitor cadastrado, não sendo necessário fazer este [Ô]esquema maluco[Ô], e mesmo assim o sistema se fecha inexplicavelmente.
Eu queria talvez, uma função para colocar no meu FORM PRINCIPAL, aonde que, quando o form for fechado, ele capture o erro que o sistema tenha dado e quarde em um arquivo TXT mesmo. Talvez assim eu consiga imaginar AONDE o erro possa estar acontecendo...... Será que esta função conseguiria capturar tbem erros em outras DLL's????
Eu já fiz estes testes até em minha máquina mesmo, debugando e tentando descobrir aonde é que está o problema.
E na minha máquina mesmo, mesmo rodando pelo VB6, ele acontece a mesma coisa, não sendo possÃvel IMAGINAR aonde é que está o problema.
Pois se eu ficar rodando debugando, o sistema irá rodar perfeitamente........... Mas depois de um certo tempo, ele pega e se fecha do nada, sem passar por onde eu IMAGINAVA que pudesse acontecer o problema.
PS: Tenho um objeto TIMER rodando, ao qual eu estou [Ô]ligando e desligando[Ô] os 2 leitores biométricos que tenho ligado no micro, já que, para que os 2 funcionem, preciso ligar um, e deixar o outro desligado, e depois, fazer o inverso. Faço este processo a cada 2 segundos em média, tempo ao qual nem é possÃvel notar o desligamento deles.
Mas isso não é desculpa, pois em uma outra unidade, o sistema possui somente 1 leitor cadastrado, não sendo necessário fazer este [Ô]esquema maluco[Ô], e mesmo assim o sistema se fecha inexplicavelmente.
Eu queria talvez, uma função para colocar no meu FORM PRINCIPAL, aonde que, quando o form for fechado, ele capture o erro que o sistema tenha dado e quarde em um arquivo TXT mesmo. Talvez assim eu consiga imaginar AONDE o erro possa estar acontecendo...... Será que esta função conseguiria capturar tbem erros em outras DLL's????
Cara, deve ser o Windows que tá encerrando o seu sistema. Verifique o log do windows em Ferramentas Administrativas.
tente jogar um on error goto ex:
joggue no inicio do formulario um
[Ô]On error Goto Problema[Ô]
quando ele gerar o problema ele grava em um arquivo texto o numero do erro tipo assim:
Problema:
Path =[Ô]caminho do arquivo[Ô]
Open Path For Output As #1
Print Err.Number & [Ô] - [Ô] & Err.Description
close #1
end
tendeu?
joggue no inicio do formulario um
[Ô]On error Goto Problema[Ô]
quando ele gerar o problema ele grava em um arquivo texto o numero do erro tipo assim:
Problema:
Path =[Ô]caminho do arquivo[Ô]
Open Path For Output As #1
Print Err.Number & [Ô] - [Ô] & Err.Description
close #1
end
tendeu?
Você utiliza alguem componente de tempo nessa tela?, se utiliza observe se o mesmo naum esta dando PAU, e estou fechando em [Ô]erro[Ô] naum em [Ô]end[Ô].
Espero q a dica ajude!!!
Espero q a dica ajude!!!
Olá amigo...
preciso de mais alguns detalhes:
vc usa form MDIchild? o form com a função do leitor é MDIchild?
ta fechando o form onde tem a função do leitor ou fecha o programa inteiro?
o erro ocorre só em EXE ou em modo debug tb? se em modo debug tb der o erro, o vb exibe alguma mensageM
outra coisa:
vamos ter que por algumas linhas em TODAS as sub's e procedures deste form para tentar cercar o erro, ok? além disso você terá que numerar o seu codigo inteiro (pelo menos o form problematico) para a rotina de erro poder localizar o erro, ok?
onde antes era:
va ficar:
Desta forma, qualquer erro em qualquer parte do form será tratado e exibido, informando o numero do erro, a linha onde ocorreu e a descrição do erro
o MZTools pode fazer essa alteração para você de forma bem fácil.
Caso não coheça o MZTools, tem um topico ou um artigo (não me lembro mais) onde eu destrinchei essa maravlhosa ferramenta (MZTools)
Caso não achem o meu tópico aqui no vbmania, podem baixar o topico inteiro em:
www.dusistemas.com.br/mztoolls.rar
Espero que desta forma possa ocalizar o pepino...
valeu!!!
preciso de mais alguns detalhes:
vc usa form MDIchild? o form com a função do leitor é MDIchild?
ta fechando o form onde tem a função do leitor ou fecha o programa inteiro?
o erro ocorre só em EXE ou em modo debug tb? se em modo debug tb der o erro, o vb exibe alguma mensageM
outra coisa:
vamos ter que por algumas linhas em TODAS as sub's e procedures deste form para tentar cercar o erro, ok? além disso você terá que numerar o seu codigo inteiro (pelo menos o form problematico) para a rotina de erro poder localizar o erro, ok?
onde antes era:
Private Sub TxFiltroOSVENDE_DblClick()
OptVen = 96
TipoEsc = 9: EscolheRegistro.Show
Me.Hide
End Sub
va ficar:
Private Sub TxFiltroOSVENDE_DblClick()
10 On Error GoTo TxFiltroOSVENDE_DblClick_Error
20 OptVen = 96
30 TipoEsc = 9: EscolheRegistro.Show
40 Me.Hide
50 On Error GoTo 0
60 Exit Sub
TxFiltroOSVENDE_DblClick_Error:
70 msgbox [Ô]Numero:[Ô] & Err.Number & vbnewline & [Ô]descrição:[Ô] & Err.Description & vbnewline & [Ô]Linha:[Ô] & Erl
End Sub
Desta forma, qualquer erro em qualquer parte do form será tratado e exibido, informando o numero do erro, a linha onde ocorreu e a descrição do erro
o MZTools pode fazer essa alteração para você de forma bem fácil.
Caso não coheça o MZTools, tem um topico ou um artigo (não me lembro mais) onde eu destrinchei essa maravlhosa ferramenta (MZTools)
Caso não achem o meu tópico aqui no vbmania, podem baixar o topico inteiro em:
www.dusistemas.com.br/mztoolls.rar
Espero que desta forma possa ocalizar o pepino...
valeu!!!
A dica do LLAIA parece ser muito interessante.... acho que merece uma pesquisa...
Rapaz que zica heim ?????
Pior de tudo é ficar dando tiro no escuro, pois qdo trabalhamos com DLLs de terceiros corremos este risco.
Masssss...vamos ao interrogatorio.
Já tentou rodar o sistema sem os HARDWARE para verificar a possibilidade de conflitos ???
Já verificou com o fabricante a possibilidade da DLL estar causando esse erro ????
Já comentou todos os tratementos de erros do formulário de leitura bio de forma a permitir o erro????
Este problema começou de um tempo para cá ou sempre existiu ?????
Qual a versão do SO(windows) em que o problema ocorre ???
Já testou em outras versões ?????
Ao que tudo indica, o erro está no formulário de leitura biométrica. Sugiro (caso não seja muuuito complicado) separar (apenas para teste) o formulario de leitura bio, gerar um novo executavel com apenas esse formulário e inicar a busca pelo possÃvel erro.
Pior de tudo é ficar dando tiro no escuro, pois qdo trabalhamos com DLLs de terceiros corremos este risco.
Masssss...vamos ao interrogatorio.
Já tentou rodar o sistema sem os HARDWARE para verificar a possibilidade de conflitos ???
Já verificou com o fabricante a possibilidade da DLL estar causando esse erro ????
Já comentou todos os tratementos de erros do formulário de leitura bio de forma a permitir o erro????
Este problema começou de um tempo para cá ou sempre existiu ?????
Qual a versão do SO(windows) em que o problema ocorre ???
Já testou em outras versões ?????
Ao que tudo indica, o erro está no formulário de leitura biométrica. Sugiro (caso não seja muuuito complicado) separar (apenas para teste) o formulario de leitura bio, gerar um novo executavel com apenas esse formulário e inicar a busca pelo possÃvel erro.
Tópico encerrado , respostas não são mais permitidas