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.
FATAL C 3049 STRING SPACE EXHAUSTED
Moderador: Moderadores
-
evolver
- Membro Master

- Mensagens: 189
- Registrado em: 28 Ago 2004 01:02
- Localização: Cruz Alta - RS
- Contato:
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.
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.
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
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,
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
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

- Mensagens: 907
- Registrado em: 07 Jul 2004 13:54
- Localização: Ilha Solteira-sp
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
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

