FATAL C 3049 STRING SPACE EXHAUSTED

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

CDV
Usuário Nível 2
Usuário Nível 2
Mensagens: 91
Registrado em: 30 Ago 2004 10:27

FATAL C 3049 STRING SPACE EXHAUSTED

Mensagem por CDV »

OLA GALERA, ESTOU TENTANDO COMPILAR UM PRG COM 863
LINHAS E DA ESSE ERRO:

FATAL C 3049 STRING SPACE EXHAUSTED, DO QUE SE TRATA ESSE
ERRO SENDO APENAS UM PRG, ESTOU COMPILANDO COM BLINKER 7.0
NO WINDOWS 2000 POIS EM UM SISTEMA COMPLETO QUE TEM PRG
COM MAIS DE 1500 LINHAS NAUM DA ESSE PROBLEMA.

SE ALGUEM PUDER ME AJUDAR AGRADECO.
Paulao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 09 Jul 2004 11:03
Localização: Franca
Contato:

Mensagem por Paulao »

Tente compilar ele em blocos com menos linhas que vai dai certo
evolver
Membro Master
Membro Master
Mensagens: 189
Registrado em: 28 Ago 2004 01:02
Localização: Cruz Alta - RS
Contato:

Mensagem por evolver »

String space exausted ocorre durante a compilação quando ele tem que gerenciar muita memória para compilar aplicativos. Experimente reduzir as variáveis ou aumentar a quantidade de memória convencional disponível. Ou tente compilar usando "lh clipper bla,bla,bla"...
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.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Mensagem por Toledo »

CDV,

Este erro ocorre quando é declarada um número muito grande de variáveis no programa. O número de variáveis é contado tanto no seu arquivo PRG, como nos arquivos CH que foram incluídos no programa.

Para tentar resolver este problema, faça o seguinte:

1 - Verifique qual a versão do seu Clipper. Se não for a 5.2e ou 5.3b, atualize a sua cópia.

2 - Divida o seu PRG em vários arquivos menores, conforme orientação do Paulao na mensagem anterior.

3 - Se você estiver usando o RMAKE, informe a opção /XS 800 na linha de comando. Exemplo: RMAKE seuarq.RMK /XS 800

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Mensagem por Mário Isa »

Caros colegas,
como o próprio nome diz string space exhausted significa que o espaço utilizado para strings já não suporta mais dentro de uma mesma função ou procedure.
qdo vc define a:="MARIO" b:="CARLOS" c:='JOAO'.
Cada vez q faz isso vc utiliza um espaço q o clipper reserva para os strings a serem atribuídos a variáveis.
Se vc pudesse colocar esses strings num .dbf digamos:
Código Nome
a Mario
b Carlos
c Joao
e fizesse
while !eof()
a_var := codigo
store nome to &a_var
skip
end
o seu problema desapareceria porque vc não estaria mais utilizando strings dentro do .prg
Eu, particularmente, criei um arquivo chamado avisos.dbf seg estrut:
codigo mensagem
1 Arquivo não encontrado
2 Cliente não existe
3 Mercadoria não encontrada.

E assim, na minha função faço
if !dbseek(mercadoria)
tecle(3) // onde 3 é o código da msg dentro do arquivo avisos, entende?
loop
end

e assim, não utilizando tantos strings me livro do string space exhausted.

Abraços
:xau
Responder