Página 1 de 2
Sistema aborta, sem mensagem de erro
Enviado: 25 Set 2012 21:11
por elo1972
Peço ajuda dos amigos sobre o problema abaixo:
Ola estou com um cliente onde o sistema desenvolvido em clipper ja esta rodando a bastante tempo e tb passou por varias mudanças quais são os problemas momentaneos
- sistema aborta sem mensagem de erro (simplismente fecha sozinho )
- erro de base 1002 (no servidor as x acontece as vezes não )
- erro + + as vezes acontece as vezes nao ja aconteceu no servidor tb )
Procedimentos adotados até o momento
formatação - troca de hd e troca do sistema operacional no servidor
os terminais trabalham com windows XP
verificamos virus e nada foi identificado até o momento
quedas na transmissao da rede tb estao descartadas
gostaria a ajuda se possivel pois o programador é meu amigo e diz que tudo no sistema esta correto a questao é nao encontramos nada na rede tb e nao estamos conseguindo solucionar o problema .
alguem pode me dar uma dica se achar que é parte de sistema ou nao agradeço desde ja
ou se puderem me dar uma dica do que passar para testar ajuda
Obrigado
Peço ajuda dos amigos sobre o problema abaixo
Enviado: 25 Set 2012 21:21
por Pablo César
Seja bem vindo ao fórum !
os problemas momentaneos
- sistema aborta sem mensagem de erro (simplismente fecha sozinho ) Se o sistema é acessado desde um atalho, será dificil ler qualquer mensagem que possa dar. Acho dificil que não emita mensagem algum ao abortar. Aconselho que acesse o programa na linha de comando e quando abortar, postar para nós a mensagem de erro.
- erro de base 1002 (no servidor as x acontece as vezes não ) Esse erro pertence a: BASE/1002 Undefined alias. Tem que ver em que linha do seu código está emitindo este erro. E corrigir o seu código.
- erro + + as vezes acontece as vezes nao ja aconteceu no servidor tb ) Não entendi essa mensagem de erro: "erro +" Não tem maiores detalhes quanto a esse erro ?
Veja na cor vermelho as minhas indagações, para poder ajudá-lo melhor: favor responder.
meu amigo e diz que tudo no sistema esta correto
Não, pelo visto há erro de programação, principalmente no erro base 1002.
troca de hd e troca do sistema operacional no servidor
Poderia informar a versão do Windows no servidor ?
As configurações de ambiente, nas estações, poderia listar como estão ? Isto é o SET CLIPPER ? BUFFERS e FILES do CONFIG.NT ?
Peço ajuda dos amigos sobre o problema abaixo
Enviado: 25 Set 2012 21:36
por billy1943
Complementando o que o Pablo Cesar solicitou, informo o que pode aparecer na tela se o executável for chamado no prompt do
Dos, pois se for chamado por um .BAT, quando ocorre o erro, o sistema fecha e devolve o controle ao Windows e não dá para se saber o que de fato causou o erro.
O formato não pode ser tal como se apresenta abaixo pois modifiquei o errorsys.prg que o gera, inclusive grava um arquivo log
de erros, do que extrai um trecho como exemplo.
Olhar a lista apresentada de baixo para cima.
**********************************************************************************************
13/09/11 16:51:30 Erro BASE/1003 Variable does not exist: CNUMERO
13/09/11 16:51:34 LOCKERRHAN(0)
13/09/11 16:51:34 (b)INITHANDL$(0)
13/09/11 16:51:34 (b)GARANT_SQL(53)
13/09/11 16:51:34 GETPOSTVAL(393)
13/09/11 16:51:34 GETREADER(162)
13/09/11 16:51:34 READMODAL(111)
13/09/11 16:51:34 GARANT_SQL(66)
13/09/11 16:51:34 ESTPARA(321)
13/09/11 16:51:34 EST000(661)
*********************************************************************************************
Pelo modelo dá para saber em que rotina e linha o erro ocorreu e qual foi ele.
Aí fica mais fácil saber o que está acontecendo.
Peço ajuda dos amigos sobre o problema abaixo
Enviado: 25 Set 2012 21:47
por Pablo César
O formato não pode ser tal como se apresenta abaixo pois modifiquei o errorsys.prg que o gera, inclusive grava um arquivo log
de erros, do que extrai um trecho como exemplo.
Olhar a lista apresentada de baixo para cima.
**********************************************************************************************
13/09/11 16:51:30 Erro BASE/1003 Variable does not exist: CNUMERO
13/09/11 16:51:34 LOCKERRHAN(0)
13/09/11 16:51:34 (b)INITHANDL$(0)
13/09/11 16:51:34 (b)GARANT_SQL(53)
13/09/11 16:51:34 GETPOSTVAL(393)
13/09/11 16:51:34 GETREADER(162)
13/09/11 16:51:34 READMODAL(111)
13/09/11 16:51:34 GARANT_SQL(66)
13/09/11 16:51:34 ESTPARA(321)
13/09/11 16:51:34 EST000(661)
Permita-me que esclareça a sua exemplificação de erro. O que o colega diz, é que os erros poderão acontecer mais ou menos algo assim:
Erro BASE/1003 Variable does not exist: CNUMERO
LOCKERRHAN(0)
(b)INITHANDL$(0)
(b)GARANT_SQL(53)
GETPOSTVAL(393)
GETREADER(162)
READMODAL(111)
GARANT_SQL(66)
ESTPARA(321)
EST000(661)
E deverá observar-se debaixo pra cima, isto é, aqui o erro está no módulo EST000.PRG n alinha 661.
E aproveitando a mesma ideia para indicar que seria conveniente, alterar o seu ERRORSYS.PRG para que tais erros possam ser gravados em arquivos e estes para serem revisados pelo programador/analista. Aqui no fórum existem vários exemplos, na seção de Downloads tem este:
https://pctoledo.org/forum/fileba ... rro&page=1
E leia sobre:
https://pctoledo.org/forum/viewto ... prg#p72055
Peço ajuda dos amigos sobre o problema abaixo
Enviado: 25 Set 2012 21:57
por elo1972
Agradeço a todos , e confesso que fiquei surpreso pela atenção que acabei de receber do forum , de imediato , continuem sempre assim pis com atitudes deste tipo todos ganhamos.
Vamos por partes:
- o sistema que esta rodando no servidor é o server 2003
- qto a forma de acesso - mapeamos uma unidade e usamos o executável
- qto ao fechar sozinho as vezes para se ter uma ideia a dona da empresa esta sozinha depois do expediente do nada qdo vai usa o sistema nao esta mais aberto .
- aborta mesmo sem mensagem
- o fato é pq em alguns dias o erro aparece do tipo 1002 e outros nao ? isso é normal , desculpe mais meu conhecimento em programação é muito pequeno
- qto a abortar as vezes ao confirmar uma venda o sistema fecha bagunçando o banco de dados .
Eu disse ao programador o seguinte , se o executavel do sistema fosse copiado direto em cada terminal mapeando somente o banco a chance de acontecer nao seria menor .
Como nao estrou encontrando nada de errado nas maquina pelo menos aparentemente , e ele diz que no sistema esta tudo correto por isso estou aqui pedindo a ajuda de voces .
mais uma vez muito obrigado
Peço ajuda dos amigos sobre o problema abaixo
Enviado: 25 Set 2012 22:12
por Pablo César
Agradeço a todos , e confesso que fiquei surpreso pela atenção que acabei de receber do forum , de imediato
Obrigado. Mas acho que deu sorte... rs
Volto a insistir. Execute da linha de comando para resolver esse problema de sair sozinho o sistema. Isso deve descobrir o que está realmente acontecendo. Como não temos os fontes para avaliar isso, você mesmo terá que descobrir e ver nos fontes se não existe alguma opção programada de saída ao estar o sistema inativo. Num sistema que eu tenho, eu utilizo essa opção (de sair do sistema quando está ocioso) para que realize indexação do sistema e apresente um protetor de tela.
o fato é pq em alguns dias o erro aparece do tipo 1002 e outros nao ? isso é normal
Cada erro deve ser tratado deve ser analisado separadamente. Quais outros erros acontecem ?
Eu disse ao programador o seguinte , se o executavel do sistema fosse copiado direto em cada terminal mapeando somente o banco a chance de acontecer nao seria menor .
Sim e não. Isto pode ser rebatível, alias, muitos sistemas funcionam sem problemas tanto de uma forma como de outra.
Código: Selecionar todos
abortar as vezes ao confirmar uma venda o sistema fecha bagunçando o banco de dados
Sim, como eu já disse, cada erro deve ser analisado. Deve estar dando algum erro quando abortar ao confirmar a venda. Isso é muito importante passar-nos. Provavelmente esteja dando erro de índices. Ai os erros viram uma bola de neve. Deve ser tratado.
desculpe mais meu conhecimento em programação é muito pequeno
Sendo assim, leia, estude e se tem intenção de avançar nesta empreitada, aqui é um ambiente bom para aprender. Do contrário, aconselho que fale com o seu amigo programador e peça para ele implementar o ERRORSYS.PRG que possa gravar os erros desse sistema, ai ficará mais fácil em detectar os erros e postar aqui um por um. Do contrário, estaremos dando tiros no escuro...
Eu tinha te perguntado. Pablo César escreveu:As configurações de ambiente, nas estações, poderia listar como estão ? Isto é o SET CLIPPER ? BUFFERS e FILES do CONFIG.NT ?
E quanto a isto, sabe responder ? Seria bom checar e confirmar (muito importante).
Peço ajuda dos amigos sobre o problema abaixo
Enviado: 25 Set 2012 22:41
por fladimir
Uma dica de alguém q trabalhou algum tempo com sistema em clipper puro e só consegui tranquilidade adotando o seguinte critério...
Server XP rodando uma DLL q permite ter mais de 10 clientes pendurados via TS (não testei com o 2003 talvez funcione de boa)
Terminais XP acessando via TS
o Server bem legal com Nobreak
Ai vc define tipo para cada terminal BATs individuais exemplo Terminal 01 t1.BAT e assim por diante ai vc terá uma lista dos terminais conectados T1, T2, etc e cada um poderá caso o sistema tenha SETs definidos no BAT individuais e o sistema irá rodar local no SERVER, ai vc faz o mapeamento da impressora no BAT redirecionando para cada terminal se for o caso...
Olha desta maneira roda Rápido e super estável, e se cair a conexão de rede ao logar novamente continua de onde estava.
[]´s
Sistema aborta, sem mensagem de erro
Enviado: 26 Set 2012 09:40
por elo1972
Obrigado mais uma vez pela força de todos .
qto ao programa abortar sozinho ja tentamos desmarcar a opção fechar ao sair e qdo aborta a tela fica preta sem erro
config.nt
FILES=235
BUFFERS O PADRAO DO WINDOWS
NO AUTOEXEC
NO AUTOEXEC.NT
SET CLIPPER=F:235
SET TMP=C:\TMP
--------------------------------------------------
AO AMIGO FLADIMIR QUAL DLL , SERIA poderia me passar mais indormações de como proceder neste caso
Sistema aborta, sem mensagem de erro
Enviado: 26 Set 2012 09:54
por fladimir
De uma lida em:
Link
[]´s
Sistema aborta, sem mensagem de erro
Enviado: 26 Set 2012 09:55
por Pablo César
qto ao programa abortar sozinho ja tentamos desmarcar a opção fechar ao sair e qdo aborta a tela fica preta sem erro
Essa medida de "não fechar ao sair" ajuda na visualização de qualquer mensagem de erro que possa dar: boa medida. Mas relacionado a esta questão, eu disse na minha mensagem anterior, que caberia analisar o seu código, para identificar alguma saída programada. Isto é, quando o programa detecta que o sistema está ocioso, ele poderá fechar e sair do programa. Geralmente isso é feito através de função ativa em background, assim como o faz o KEYSEC da CT.LIB e BGEVENTS.LIB. Precisa verificar se existe essa possibilidade também. Outra coisa que tenho a acrescentar, eu já tive casos de ter esse mesmo sintoma de abortar sem mensagem algum e foi causado por um dano grave a base de dados, não lembro exatamente mas tinha a ver com a integridade de indices.
config.nt
FILES=235
BUFFERS O PADRAO DO WINDOWS
Favor acrescente BUFFERS=60 e faça um boot em cada PC e verifique. Não custa nada isso, pelo menos no meu sistema exige.
Outra questão é que eu particularmente, não tenho confiança na versão do Windows XP no Pack 3. Ele tem demostrado muitas reclamações aqui no fórum, situações atípicas. É pra desconfiar tudo nessa hora. Utilize o pack 2, eis minha outra sugestão.
E sobre a questão de direcionar os erros para arquivo LOG, seria uma medida muito apropriada a ser aplicada. Pense nisso.
Sistema aborta, sem mensagem de erro
Enviado: 26 Set 2012 11:01
por fladimir
Isso se for na dica do XP vai de Pack 2
Sistema aborta, sem mensagem de erro
Enviado: 26 Set 2012 12:29
por JoséQuintas
gostaria a ajuda se possivel pois o programador é meu amigo e diz que tudo no sistema esta correto
Estava revendo as mensagens e chamou a atenção essa parte.
Talvez ele não seja tão seu amigo, já que está tentando resolver o problema dele.
Rodei meu sistema Clipper em todas as versões de Windows, até no próximo Windows 8, antes de trocar pra Harbour.
O XP que sempre fiz questão de usar foi o XP SP3, mas nunca tive problema com nenhuma versão.
Mentira...
Tive problemas no tempo de W95/W98, antes de começar a usar OSLIB, e quando ainda usava campo memo.
E também num servidor W7, se criar o backup por um terminal acabo tendo problemas com direitos de acesso.
E tive problemas desse tipo, do sistema abortar do nada, nas versões do Blinker anteriores a versão 7.
Sei disso porque sempre usei um esquema de registrar erros FORA do programa, pra me enviar até erros que o Clipper não acusa.
Se dependesse dos usuários, nunca iria ficar sabendo, porque eles consideravam isso normal.
Mas em resumo: são problemas que só o programador pode resolver, portanto somente seu amigo.
De repente é um problema que ele nunca pegou antes, e por isso acha que não é o programa.
Precisa da ajuda dele pra resolver, principalmente se depender de mexer no programa.
Se não tiver jeito, o negócio é partir pra outro programa.
Importante: O problema não é por ser Clipper, porque todo erro tem um motivo e tem solução. Mas dependendo do erro, só o programador consegue mexer no programa, e aí você não consegue corrigir, só o seu amigo. Se ele precisar de ajuda, estamos por aqui.
Sistema aborta, sem mensagem de erro
Enviado: 27 Set 2012 10:01
por elo1972
Caro Jose Obrigado pela resposta , gostaria de perguntar se teria como voce me mandar este esquema para verificar erros por fora .
Desde ja agradeço a atenção mais uma vez a todos
Obs Vou usar todas as dicas e ideias aqui postadas para ver se conseguimos resolver problema do cliente .
Sistema aborta, sem mensagem de erro
Enviado: 28 Set 2012 09:25
por elo1972
O Blinker é usada obrigatoriamente ou clipper ou nao necessariamente
Obrigado mais uma vez
Sistema aborta, sem mensagem de erro
Enviado: 28 Set 2012 09:32
por Pablo César
elo1972 escreveu:O Blinker é usada obrigatoriamente ou clipper ou nao necessariamente
Primeiro você compila em utilizando em Clipper para gerar um arquivo OBJ e depois você utiliza um linkador que pode ser o RTLINK ou BLINKER (nas versões 5 do Clipper, antes utilizava o Tlink, senão me engano).
Enquanto o colega José não fala sobre como resover "por fora"... Outra coisa que pode ser feita. Compilando com a opção
/B quew permitirá utilizar o CLD que faz um debug do programa. Isto é, ele irá ser executado linha a linha (passo a passo), podendo parar perto de onde sempre dá erro.
Nosso melhor conselho é você aprender o básico da linguagem, procure ajuda próxima para que dê alguns macetes.