Menssagem de Error no Clipper

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
marbio
Usuário Nível 3
Usuário Nível 3
Mensagens: 206
Registrado em: 29 Jul 2004 16:26

Menssagem de Error no Clipper

Mensagem por marbio »

Boa Tarde Colegas!!!

Estou com um problema no CLIPPER 5.3 usando o Exospace, esta dando a seguente mensagem :

(b)FieldWBLOC(0) Unrecoverable error 650: Processos Stack Foult

isso aconte com frequencia ex:

Usando um funcao para pesquisa de produtos a funcao e feita com o dbedit.

na hora que estou usando as teclas de funcao F2 etc.

Preciso urgente disso

t+
Marbio
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

Já resolvi esse problema simplesmente linkando esse obj junto.

http://geocities.yahoo.com.br/dudu_xbase/__wait_b.zip


________________________________________________________________________________________________________
(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




Avatar do usuário
marbio
Usuário Nível 3
Usuário Nível 3
Mensagens: 206
Registrado em: 29 Jul 2004 16:26

Por que acontece isso

Mensagem por marbio »

Bom dia !!!

Tem como vc me explicar por que que acontece isso, em qualquer sistema
no MS-DOS, WIN98 etc...

fico muito agradecido

t+
Marbio
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

Marbio comecei a ter esse problema qdo começaram a surgir processadores mais potentes, mas vi tb outros problemas relacionados a esse erro com forma de compilação e linkedição, já vi esse erro ser eliminado qdo linkado com o blinker versão 7.0, e tb qdo migrado de versão de clipper 5.01 para 5.2 ou 5.3 esse erro sumir.
Já vi programadores dizerem q eh por causa de funções sem finalização vc montar uma função ou procedure e não colocar o return no final.


________________________________________________________________________________________________________
(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




evolver
Membro Master
Membro Master
Mensagens: 189
Registrado em: 28 Ago 2004 01:02
Localização: Cruz Alta - RS
Contato:

Mensagem por evolver »

Processor Stack Fault - Geralmente isso ocorre por estouro de pilha. Normalmente a pessoa está usando uma função recursiva. Ou seja ela fica chamando a si mesma ou duas funções que uma chama a outra continuamente.

Explico: (explicação pra novatos, não critiquem)
A pilha é um método pelo qual um programa guarda aonde está a função anterior de modo que o return pode retornar ao ponto onde o programa estava quando uma função é chamada. Quando uma função fica chamando a outra ou uma função fica se chamando continuamente ocorre que essa pilha se enche e ocorre um estouro de pilha.

Os casos de função que ficam se chamando são similares a esses
- Funções se chamando recursivamente
func funcao1()
v_variavel=funcao2()
return v_variavel

func funcao2()
v_variavel2=funcao1()
return v_variavel2
- Função recursiva
func funcao1()
v_variavel=funcao1()

A melhor forma de descobrir onde está dando a recursividade é usando o CLD pra depurar o programa e o porque isso ocorre.
Sergio "Evolver" Fagundes

CURVE-SE DIANTE DE MIM SER INSIGNIFICANTE, POIS EU SOU ROOT
Só respondo em PVT perguntas relativas ao que eu faço. Qualquer outra dúvida favor postar no fórum.
Peço aos veteranos que antes de responder a uma pergunta repetida dêem uma pesquisada e instruam a quem perguntou a fazer o mesmo.
Responder