Page 1 of 1

Error "Preprocessor table overflow"

Posted: Fri Jul 21, 2006 6:33 pm
by servicomver
Hola a todos:

necesito usar las clases btnget y sbrowse al mismo tiempo, inicio el programa asi

# include "FiveWin.ch"
# include "Tsbrowse.ch"
# include "Btnget.ch"


cuando quito el segundo o el tercero funciona bien


si lo pongo asi me marca:
Btnget.ch(66) fatal C3048 Preprocessor table overflow

que significa eso ???
como seria la manera correcta de hacerlo ??

gracias por su ayuda

veracruz, ver

Posted: Wed Aug 02, 2006 1:56 pm
by Fernando Morales
Estás utilizando demasiados archivos .ch. Marca con un asterisco alguno que no utilices en fivewin.ch.

Un saludo,
Fernando

Posted: Wed Aug 02, 2006 5:02 pm
by R.F.
Tienes que "capar" (con perdon) el archivo FIVEWIN.CH

El problema se debe a que Clipper, al ser una aplicacion DOS de 16 bits, siempre compila sobre los primeros 64 kbytes de memoria RAM. Esto ocasiona que solo dispongas de esa cantidad de memoria para compialr cada programa.

El error que mencionas se debe a que tienes demasiados archivos INCLUDE que se estan acabando la memoria que tienes disponible para compilar, obviamente esto en Harbour no sucede, no hay limitaciones de memoria en compilacion, pero eso es harina de otro costal.

La solucion es editar el FIVEWIN.CH y quitar de este algunos INCLUDE que no estes utilizando, lo mas comun es quitar OBJECTS.CH, DDE.CH, para quitarlos simplmente pon entre comentarios las lineas donde se hace la llamada al INCLUDE.

OJO, el quitar alguno de estos componentes hace que algunos comandos no esten disponibles, revisa que los archivos que quitas no tengan comandos que utilices en tu programa

Posted: Wed Aug 02, 2006 9:09 pm
by servicomver
Gracias Fernando y Rene, lo interare asi les aviso que paso, saludos
Veracruz, Mexico

Posted: Thu Aug 03, 2006 6:37 am
by Antonio Linares
Tienes varias formas de solucionarlo:

1. Si tienes a mano Clipper 5.2, puedes usarlo para compilar en vez de usar 5.3, ya que su capacidad de preprocesado es mayor. Luego puedes enlazar con las librerías de 5.3 sin problemas.

2. Puedes evitar incluir algunos de los ficheros de cabecera que usa FW, para no consumir tanta memoria de preprocesado. Para conseguir esto pasa este parámetro /dCLIPPER501 al llamar a Clipper:

clipper myapp.prg /n /dCLIPPER501

3. En vez de usar rmake.exe de Clipper que consume mucha memoria y se la quita a Clipper.exe, usa el maker.exe de Borland que permite liberar toda la memoria antes de llamar a Clipper.exe