Erro ao compilar .prg grande

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Cumpadi
Usuário Nível 1
Usuário Nível 1
Mensagens: 1
Registrado em: 10 Jul 2004 16:06

Erro ao compilar .prg grande

Mensagem por Cumpadi »

Olá,
Estou tentando compilar uma procedure com 1005 linhas (Clipper 5.2)
mas recebo a seguinte mensagem: Fatal C3049 String space exhausted

Como faço pra resolver isso?

Obrigado.
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 »

Acredito que o problema não seja pq vc esta tentando compilar a tal procedure.
Faça o seguinte:
Tente agrupar algumas procedure e funções em blocos distintos
pro exemplo, vc tem funcão1,funcao2,funcao3, ......funcao 20
coloque as 10 primeiras num arquivo e de o nome de funcoes1.prg
as 10 ultimas em outro arquivo chamado funcoes2.prg
então compile
Clipper seu executavel
clipper funcoes1
clipper funcoes2
rtlink seu executavel,funcoes1,funcoes2

Gtrande abraço
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Mensagem por ANDRIL »

Ola,

Tenho prgs com mais de 3000 linhas e nao tive problemas. Verifique no seu fonte se não há linhas muito extensas. Acho que o compilador tem limite de caracteres por linhas. Para dividi-las utilize ; ( ponto e virgula )

Abraços
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar do usuário
Dercide
Usuário Nível 1
Usuário Nível 1
Mensagens: 18
Registrado em: 18 Ago 2003 18:44

Mensagem por Dercide »

Cumpadi,

O seu problema é que você deve ter criado um expressão muito grande, mesmo dividindo em variais linhas com ponto e virgula, irá continuar dando erro. Tente simplificar a expressão em dois ou mais comandos.

Abraços,

Dercide.
Marcelo
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 15 Ago 2003 16:54
Localização: São Paulo

Mensagem por Marcelo »

Caro amigo se vc estiver utilizando o rmake para compilar seu sistema, experimente utilizar desta forma:

rmake seusistema /xs1100

abraços

Marcelo
gransoft
Usuário Nível 3
Usuário Nível 3
Mensagens: 321
Registrado em: 06 Jul 2004 17:48
Localização: UBERLÂNDIA-MG
Contato:

Retorno prô Cumpadi...

Mensagem por gransoft »

ARAGUARI-MG, 17 de julho de 2004.

Prezado Cumpadi,

Tente diminuir o *.prg, dividindo o algorítmo em vários outros *.prg, e utilize o comando #INCLUDE :

Código: Selecionar todos

PROCEDURE LiberaV(cLib)
#include "LIB_VEN.prg"
RETURN
***

PROCEDURE LanEntrada()
#include "PAGENT.prg"
RETURN
***

PROCEDURE ImpPedV()
#include "IPD_VEN.prg"
RETURN
***
Cuidado com o tamanho dos laços WHILE/END e FOR/NEXT...

Atenciosamente,
Janis Peters Grants.

http://www.gransoft.com.br
gransoft@zipmail.com.br
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Erro ao compilar .prg grande

Mensagem por Maligno »

Cumpadi escreveu:Estou tentando compilar uma procedure com 1005 linhas (Clipper 5.2) mas recebo a seguinte mensagem: Fatal C3049 String space exhausted
O compilador Clipper é limitado e tem um limite também para tratamento de strings dentro de cada PRG. Provavelmente você tem uma quantidade de strings que extrapola o tamanho da tabela mantida internamente pelo compilador. Assim, você terá de dividir o fonte de forma que essas strings sejam separadas e a tabela interna seja aliviada. Nota: esse limite é POR arquivo compilado, não para o projeto todo.
Esse é o tipo de limitação que pode acontecer não só com strings, mas também com inclusão de arquivos header, referências externas, procedures, etc.

[]'s
Maligno
http://www.buzinello.com/prg
Responder