Boa Tarde Pessoal
Meu Nome é João e sou novo no forum.
Pessoal,tenho um programa em clipper que esta retornando a seguinte mensagem:
Unrecoverable Error 650: Processor Stack Fault
Mas verificando o codigo fonte, fui linha a linha e verifiquei que o mesmo esta dando erro na hora que abre um arquivo NTX (hora que ele tenta carregar). Ja deletei o NTX, e o erro continua. Ja limpei o DBF e recriei o arquivo e nada. Alguem sabe o que pode estar acontecendo
Grato pela atenção
Unrecoverable Error 650: Processor Stack Fault
Moderador: Moderadores
Prezado Colega
Caro colega,
Não tenho e nem me lembro quando tive esse tipo de erro, mas recentemente copiei a resposta de um colega em um forum sobre esse mesmo problema, vou transcrever abaixo o que copiei talvez possa lhe ajudar:
"Esse erro acontece quando uma função chama outra e essa função que foi chamada chama a anterior novamente, diversas vezes."
O problema pode ser simplesmente que o erro que o Clipper esta retornando (650) e originado dos parametros do Sistema Operacional que ele esta rodando.
Por Exemplo: O aplicativo .EXE esta em um servidor NT e cliente W95/98, e existe um erro no codigo. O Erro no programa clipper sempre volta (650).
Tente simular o sistema em disco local. O clipper retornara o numero do erro correto.
Em todos os casos, este problema é conhecido como referência circular e só pode ser consertado alterando a estrutura do programa a fim de não se permitir este erro. Em função deste erro o programa entra em um loop do qual não consegue sair, até dar o erro.
Até logo.
Marcelo
Caro colega,
Não tenho e nem me lembro quando tive esse tipo de erro, mas recentemente copiei a resposta de um colega em um forum sobre esse mesmo problema, vou transcrever abaixo o que copiei talvez possa lhe ajudar:
"Esse erro acontece quando uma função chama outra e essa função que foi chamada chama a anterior novamente, diversas vezes."
O problema pode ser simplesmente que o erro que o Clipper esta retornando (650) e originado dos parametros do Sistema Operacional que ele esta rodando.
Por Exemplo: O aplicativo .EXE esta em um servidor NT e cliente W95/98, e existe um erro no codigo. O Erro no programa clipper sempre volta (650).
Tente simular o sistema em disco local. O clipper retornara o numero do erro correto.
Em todos os casos, este problema é conhecido como referência circular e só pode ser consertado alterando a estrutura do programa a fim de não se permitir este erro. Em função deste erro o programa entra em um loop do qual não consegue sair, até dar o erro.
Até logo.
Marcelo
-
Dudu_XBase
- Membro Master

- Mensagens: 1071
- Registrado em: 25 Ago 2003 16:55
Tive esse erro logo q migrei do rtlink para o blinker ...
Modiquei a errorsys....comecei a usar várias coisas loucas...
Me lasquei na época para resolver....
// Linke esse obj junto com seu programa ...
http://geocities.yahoo.com.br/dudu_xbase/__wait_b.zip
// Verifique no config.sys se vc já possui isso...
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS x=CB00-CBFF
DOS=HIGH,UMB
FILES=200
BUFFERS=30
Modiquei a errorsys....comecei a usar várias coisas loucas...
Me lasquei na época para resolver....
// Linke esse obj junto com seu programa ...
http://geocities.yahoo.com.br/dudu_xbase/__wait_b.zip
// Verifique no config.sys se vc já possui isso...
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS x=CB00-CBFF
DOS=HIGH,UMB
FILES=200
BUFFERS=30
________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Amiguinho
Este erro é o que chamamos de intermitente.
Este erro não faz anuncio da linha que o ocasionou dentro da lista de erros do Clipper.
Por isto não é fácil de resolver.
Eu tive este erro alguns dias atrás após compilar um programa que rodava a vários meses sem problema, meu cliente pediu uma alteração, eu fiz e compilei e o erro passou a acontecer.
Também uso o Blinker.
Este erro tem relação com variáveis colocadas em condições de critica diversas ao mesmo tempo, exemplo:
Veja que a variavel TESTE foi PUBLICada e seu valor por default será .F., ou seja, lógico.
Em algum ponto de seu programa voce fáz uma critica nesta variável com outro valor, então acontece o erro.
É o mesmo que forçar o Clipper a devolver o resultado de:
if (1 + 1) = "X"
if "ABC" = ctod("01/12/2005")
Produre por seus IFs e CASEs e veja se as variáveis de critica estão sendo inicializadas de acordo.
@braços :?)
Este erro é o que chamamos de intermitente.
Este erro não faz anuncio da linha que o ocasionou dentro da lista de erros do Clipper.
Por isto não é fácil de resolver.
Eu tive este erro alguns dias atrás após compilar um programa que rodava a vários meses sem problema, meu cliente pediu uma alteração, eu fiz e compilei e o erro passou a acontecer.
Também uso o Blinker.
Este erro tem relação com variáveis colocadas em condições de critica diversas ao mesmo tempo, exemplo:
Código: Selecionar todos
PUBLIC TESTE
...
IF TESTE = "C"
...
ENDIF
Em algum ponto de seu programa voce fáz uma critica nesta variável com outro valor, então acontece o erro.
É o mesmo que forçar o Clipper a devolver o resultado de:
if (1 + 1) = "X"
if "ABC" = ctod("01/12/2005")
Produre por seus IFs e CASEs e veja se as variáveis de critica estão sendo inicializadas de acordo.
@braços :?)

