Página 1 de 2
stack overflow
Enviado: 24 Jul 2007 17:49
por flaeuso
Estou executando um programa feito em clipper e o mesmo da stack overflow
ja setei as configurações no autoxec.bat (clipper=f50,cgacurs) e no config.sys
as linhas files=40 e buffer=32. ja tentei alguns valores pra estes parametros mas mesmo assim continuo com o problema. O programa funciona em outra maquina com windows xp mas mesmo assim copiando os arquivos autoexe e comfig não funcionou alguem sabe o que pode estar dando errado.
Enviado: 24 Jul 2007 17:52
por Maligno
Primeiramente, seja bem-vindo ao fórum.
Estranho funcionar numa máquina e em outra não. Mas isso não tem a ver com FILES ou BUFFERS. Esse problema se refere ao estouro da pilha interna do programa. Cada função utiliza essa pilha para várias tarefas.
Em algum ponto, talvez numa chamada recursiva (uma função chamando ela mesma), a pilha parece estar pequena demais para executar sua tarefa.
Se você utiliza o BLinker para montar seu programa, sugiro tentar aumentar a pilha interna, colocando no seu script STACK=x, onde x é a quantidade de memória, em bytes.
Enviado: 25 Jul 2007 00:16
por Pablo César
Flaeuso, você menciona clipper=f50,cgacurs o quê seria isto ? Normalmente é utilizado SET CLIPPER=F100 ou até maior. Poderia nos dizer qual é a mensagem de erro que está dando ?.
Você também menciona: autoxec.bat e config.sys para WINXP ? Será que isto é apenas força de hábito e quiz dizer autoxec.NT e config.NT (no \WINDOWS\SYSTEM32). Porque se você está apenas copiando o autoxec.bat e config.sys não irão funcionar no WINXP porque o SO não os utiliza. Desculpe se não era isso que você quiz dizer e que também estava sabendo, mas quem sabe pode estar alí seu erro. No CONFIG eu acostumo colocar:
FILES=90
BUFFERS=60
E aumente o SET CLIPPER para F100. mal não vai fazer.
cgacurs
Enviado: 25 Jul 2007 01:02
por Maligno
O argumento cgacurs é coisa muito antiga. Em algumas situações de uso de placas EGA/VGA, principalmente quando comutando entre programas TSRs (editores de texto - ex: Sidekick), o cursor ficava desconfigurado ao retornar. Aí inventaram essa coisa. Completamente fora de uso atualmente, claro.
Stack Overflow
Enviado: 25 Jul 2007 09:21
por flaeuso
Primeiramente obrigado a todos que responderam!
A mensagem de erro é stack overflow.
Essa mensagem ocorre quando um programa chamado menu.bat chama outro programa que é o clipper na mesma tela no entanto quando eu executo um modulo que efetua calculos no programa este erro acontece simplesmente stack overflow.
Eu alterei os arquivos script.nt e autoexec.nt na pasta system32 e mesmo assim o erro persiste. Copiei estes arquivos da maquina que esta funcionando e msm assim nada. Alguma outra sugestão???
Enviado: 25 Jul 2007 09:29
por Pablo César
Flaeuso, você menciona script.nt ? Desculpe ser insistente, neste ponto pois geralmente os erros de execução entre WINXP e WIN98 ocorrem por equívocs nos arquivos CONFIG.NT e AUTOEXEC.NT. O sistema em WIN98 funciona normal ?.
O teu sistema é modular, isto é, um menu (que roda numa BAT em looping) e vários executáveis ?. Eu tenho um sistema que funciona desta forma, me dá muito mais flexibilidade dessa forma.
Enviado: 25 Jul 2007 09:35
por Maligno
Talvez seja necessário incluir o comando STACKS no CONFIG.NT. Tentou isso?
Stack overflow
Enviado: 25 Jul 2007 09:44
por flaeuso
Vou setar o stacks=16778 .
Seria esse mesmo o valor ou vc indica outro?
Enviado: 25 Jul 2007 09:46
por Maligno
Acho que esse valor deve estar mais que bom. Qualquer tentativa é válida. Eu nunca uso isso. Então, manda ver esse mesmo e veja que bixo dá.

stack overflow
Enviado: 25 Jul 2007 09:54
por flaeuso
Não funcionou

Bom na maquina que funciona não executa os scripts de logon na rede. Como faço pra tirar esses scripts da minha pra testar??
Enviado: 25 Jul 2007 09:57
por Pablo César
flaeuso, as minhas indicações parece que não te interessaram, pois eu não ví resposta das minhas mensagens. Daí fica dificil poder te ajudar.
stack overflow
Enviado: 25 Jul 2007 10:13
por flaeuso
Eu setei os arquivos conforme vc mencionou o autoxec.nt e o config.nt e ainda adicioneu a linha stacks = 16778 e mesmo assim ainda ta dando o erro de stack overflow quando mando fazer os calculos.
Enviado: 25 Jul 2007 10:32
por Pablo César
Tentou recompilar o aplicativo ?. Se bem que está parecendo um problema de ambiente.
stack overflow
Enviado: 25 Jul 2007 11:29
por flaeuso
Já tentei recompilar mas não funcionou. O que mais me deixa cabreiro é que em uma maquina ta funcionando.
Re: stack overflow
Enviado: 25 Jul 2007 11:30
por Maligno
flaeuso escreveu:Eu setei os arquivos conforme vc mencionou o autoxec.nt e o config.nt e ainda adicioneu a linha stacks = 16778 e mesmo assim ainda ta dando o erro de stack overflow quando mando fazer os calculos.
Stack Overflow quando manda executar cálculos? Então o programa executa. Tentou aumentar o
stack do programa, como eu havia sugerido antes?
Aliás, se funciona sem problema numa máquina e não nesta, pondere sobre a possibilidade de ter um pente de memória com problema. Acontecem coisa estranhas nesses casos.
