Página 1 de 2
Fatal C 3023
Enviado: 16 Out 2007 15:10
por Netavin
Boa tarde amigos !
... vejam isso: do nada apareceu essa mensagem ao compilar meu programa (Blinker). A mensagem completa:
<arquivo.prg> Fatal C3023 too many labels
Blinker: 1109 : unable to open file PRGS.OBJ
...
alguem me dá uma luz, por favor ?
Netavin
Enviado: 16 Out 2007 15:26
por DMR
Boa tarde !
Tente compilar criando mais OBJs. Pode ser que resolva seu problema.
Fatal
Enviado: 16 Out 2007 15:32
por Netavin
Caro DMR.
Como assim ?
Netavin
Enviado: 16 Out 2007 16:13
por DMR
Bom, faz muito tempo que não me deparo com este problema. A ultima vez, faz muito tempo, quando eu ainda programava em Summer. Tinha um sistema mais ou menos assim:
Principal -> PRG0000
Cadastros -> PRG1000
- Produtos -> PRG1100
- Clientes -> PRG1200
Relatorios -> PRG2000
- Produtos -> PRG2100
- Clientes -> PRG2200
Em vez de:
Clipper PRG0000
Blinker fi PRG0000
Fiz assim:
Clipper PRG0000
Clipper PRG1000
Clipper PRG2000
Blinker fi PRG0000, PRG1000, PRG2000
Fatal
Enviado: 17 Out 2007 16:48
por Netavin
Boa tarde !
Bem, essa foi mais uma inexplicável ocorrência. Porém resolvi da seguinte maneira:
Exclui os procedimentos que havia incrementado no sistema. Coisas do tipo cadastro, inclusão, consulta .. etc. e voltou a funcionar corretamente.
Mas não vou deixar barato. Vou refazer novamente, cuidando dos mínimos detalhes.
Um abraço a todos!
Netavin.
Enviado: 17 Out 2007 17:55
por Maligno
Você utiliza procedures para executar procedimentos residentes em outros fontes? Se sim, então é fácil resolver. Troque as procedures por funções e compile seus fontes separadamente utilizando o switch /m. Isso por quê, utilizando compilação múltipla você gera um objeto apenas e isso pode estar estourando a capacidade da tabela de símbolos.
fatal
Enviado: 23 Out 2007 16:45
por Netavin
Boa tarde caros amigos ...
... Marígno ...
Uso funções.
Olha, eu "rodei" separadamente esta rotina(alteração) e funcionou perfeitamente. Compilou sem problemas. Cumpriu as funções a contento.
Porém quando a incluo no sistema, acontece o erro.
É informado que não consegue abrir o prgs.obj (ou criar, não me recordo bem).
...alguma idéia para me ajudar?
forte abraço!
Netavin
Erro C 3023
Enviado: 23 Out 2007 19:48
por Adalberto
Netavin,
O erro C3020 ocorre quando muito Prg é compilado dentro de um mesmo Obj, parece que você tem um arquivo .CLP e lá dentro muitos PRG, produz Obj menores.
Saludos.
fatal
Enviado: 23 Out 2007 20:17
por Netavin
Caro Adalberto;
quer dizer que há um limite de prg´s a ser colocado no arquivo.CLP ??
[]´S
Fatal C 3023
Enviado: 23 Out 2007 20:26
por Adalberto
Netavin,
Não sei o limite máximo, mas tem limites, faz seus arquivos CLP menores.
Saludos.
fatal
Enviado: 25 Out 2007 12:07
por Netavin
Bom dia assíduos leitores.
... Resolvido Adalberto.
Diminui drasticamente a relação de prg´s no arquivo.clp. Era o responsável mesmo.
Essa limitação eu desconhecia.
Obrigado Adalberto e todos os que se dignaram em auxiliar este pobre mortal.
Um abraço a todos !!
Netavin.
Enviado: 06 Fev 2008 09:41
por Netavin
Bom dia amigos!
E não é que o problema retornou!??
"<arquivo.prg> Fatal C3023 too many labels "
Esta mensagem voltou a aparecer e não deixa compilar. Tenho apenas 4 ".prg´s" no script. Então não é a causa, certo?
O que eu percebo é que quando incremento alguma rotina ou então simplesmente faço mais um submenu, acontece isso. E a solução que venho encontrando é me desfazer de alguma rotina que acho que posso ficar sem.
Ou seja, aumento aquí, mas tenho que diminuir alí. Parece que é proibido aumentar o programa.
Alguém teria uma solução ou uma idéia ?
Grato!
Netavin
Enviado: 06 Fev 2008 09:45
por Maligno
Mostre como você está compilando seus programas. A linha de comando em si.
Enviado: 06 Fev 2008 13:27
por Netavin
Eis o que estou usando:
BL.BAT
Cls
SET INCLUDE=C:\CLIPPER5\INCLUDE
SET LIB=C:\CLIPPER5\LIB
SET OBJ=C:\CLIPPER5\OBJ
SET PLL=C:\CLIPPER5\PLL
\CLIPPER5\BIN\CLIPPER @PRGS /M /O
\CLIPPER5\BIN\BLINKER @PRGS
PRGS.CLP
CANELA
COMER
ESTOQUE
RH
PRGS.LNK
File PRGS, c:\Clipper5\timeslic
OUTPUT CANELA
Blinker incremental off
Blinker exec clipper //f:250
Blinker procedure depth 140
Blinker exec nodelete
Blinker exec compress1
Blinker exec extended
Blinker alignment 128
Search BLXCLP53
Lib Clipper
Lib Extend
Lib DBFNTX
Lib Terminal
Lib CTP
... enquanto digitava estas linhas me ocorreu que não sei o porquê do Lib Terminal....
Grato!
Netavin.
erro C 3023
Enviado: 06 Fev 2008 14:16
por Adalberto
Netavin,
A ajuda que vem com clipper, as famosas NG dizem que o erro C3023 e isso mesmo, muitos .PRG’s estan sendo compilados num só arquivo .OBJ
Se esta utilizando arquivos CLP, então tem que separar alguns. PRG’s e fazer com eles outro .CLP
Da certo.