Page 1 of 1

Funcion __PPAddRule()

Posted: Tue May 08, 2007 7:50 am
by Vikthor
Saludos Foro

Alguien me puede explicar el funcionamiento de la funcion __PPAddRule()

Gracias

Posted: Tue May 08, 2007 8:36 am
by Antonio Linares
Vikthor,

/*
* preprocess and execute new preprocessor directive
* __PPADDRULE( <pPP>, <cDirective> )
*/

En donde <pPP> es un "nuevo" preprocesador creado con:

/*
* initialize new PP context and return pointer to it.
* __PP_INIT( [<cIncludePath>] [, <cStdChFile> ] )
* when <cStdChFile> is empty string ("") then no default rules are used
* only the dynamically created #defines like __HARBOUR__, __DATE__, __TIME__
*/

__PPADDRULE() te permite añadir nuevas reglas de preprocesado que se usarán cuando compiles una macro

Posted: Tue May 08, 2007 2:27 pm
by Vikthor
Antonio :

¿ Es válido que yo pueda hacer esto ?

__PPADDRULE( "#include mi.ch" )

o cúal es la forma correcta de utilizar __PP_INIT()

__PPINIT( "c:\midir\" , "mi.ch" ) <--- ¿ esto es correcto ?

Te agradezco tus comentarios

Posted: Tue May 08, 2007 4:26 pm
by Vikthor
cuándo hago esto :

__PPADDRULE("#include mi.ch")

obtengo el siguiente mensaje de error:

Code: Select all

   Error description: Error PP/23  Unknown result marker <uAction> in #directive

Stack Calls
===========
   Called from:  => __PPADDRULE(0)

Posted: Tue May 08, 2007 4:28 pm
by Antonio Linares
Vikthor,

> o cúal es la forma correcta de utilizar __PP_INIT()

hPP = __PPINIT( "c:\midir" , "mi.ch" )

Posted: Tue May 08, 2007 4:31 pm
by Vikthor
Antonio Linares wrote:Vikthor,

> o cúal es la forma correcta de utilizar __PP_INIT()

hPP = __PPINIT( "c:\midir" , "mi.ch" )
Y supongo que el valor hpp, lo debo usar __PPADDRULE() ?

Posted: Tue May 08, 2007 4:35 pm
by Antonio Linares
Vikthor,

Si. Y no se añade un #include sino un #xcommand ó similar