Página 1 de 2
Inclusión archivos de cabecera
Publicado: Vie May 20, 2022 8:53 am
por quim
No consigo que encuentre la ruta de esta forma (con V2)
Código: Seleccionar todo
// {% hb_SetEnv( "HB_INCLUDE", If( "Windows" $ OS(), "c:/", If( "Darwin" $ OS(), "/Users/user", "/home/user" ) ) + "/dev/hbweb/include;" )%}
#include "hbweb.ch"
En cambio si hago esto, sin problemas
Qué hago mal ?
Saludos
Re: Inclusión archivos de cabecera
Publicado: Vie May 20, 2022 6:35 pm
por ramirezosvaldo
Que escupe un curdir() ?
? curdir()
para ver donde estas localizado
Saludos
Osvaldo Ramirez
Re: Inclusión archivos de cabecera
Publicado: Vie May 20, 2022 8:05 pm
por charly
Quim,
Estas en windows ? Dinde tienes los include ?
Re: Inclusión archivos de cabecera
Publicado: Lun May 23, 2022 11:01 am
por quim
@ramirezosvaldo
curdir() devuelve --> Apache24
@Charly
Si, estoy en Windows
La ruta del include que pretendo enlazar es :
#include "c:/dev/hbweb/include/hbweb.ch"
que está seteada en la cabecera del prg así :
// {% hb_SetEnv( "HB_INCLUDE", If( "Windows" $ OS(), "c:/", If( "Darwin" $ OS(), "/Users/user", "/home/user" ) ) + "/dev/hbweb/include;" )%}
Saludos
Re: Inclusión archivos de cabecera
Publicado: Lun May 23, 2022 11:51 am
por charly
Quim
Prueba primero esto...
Código: Seleccionar todo
// {% hb_SetEnv( "HB_INCLUDE", "c:/dev/hbweb/include" ) %}
Re: Inclusión archivos de cabecera
Publicado: Lun May 23, 2022 11:52 am
por quim
El problema que veo es que en mi entorno no puedo recuperar la variable 'seteada'
// {% hb_SetEnv( "HB_INCLUDE", "ruta_lo_que_sea" ) %}
Luego aparece en blanco :
? AP_GETENV('HB_INCLUDE')
Saludos
Re: Inclusión archivos de cabecera
Publicado: Lun May 23, 2022 12:06 pm
por charly
Cuidadu, cuidadu...
Una cosa es usar el hb_SetEnv/GetEnv() y otra el AP_SetEnv/GetEnv()
Prueba -> ? hb_getenv( 'HB_INCLUDE')
Piensa que el mopdulo de prepro se usa hb_getenv()
Código: Seleccionar todo
oHrb = HB_CompileFromBuf( cCodePP, .T., "-n", "-q2", "-I" + cHBheader, ;
"-I" + hb_GetEnv( "HB_INCLUDE" ), hb_GetEnv( "HB_USER_PRGFLAGS" ) )
Re: Inclusión archivos de cabecera
Publicado: Lun May 23, 2022 12:26 pm
por quim
Gracias Charly, de acuerdo con lo que dices
con hb_setEnv asignas y con hb_getEnv obtienes
Sigue sin funcionar
Código: Seleccionar todo
// {% hb_SetEnv( "HB_INCLUDE", "c:/dev/hbweb/include" ) %}
Si no describo toda la ruta, no funciona
Esto falla
Código: Seleccionar todo
#include "hbweb.ch"
Error System
Description Value
Date 05/23/22 12:23:14
Description Can't open #include file 'hbweb.ch'
System PP/29
OS Windows 8 6.2
mod Version mod_harbour.V2.1 => 2.1.008
Rdds DBF, DBFFPT, DBFBLOB, DBFNSX, DBFCDX, SIXCDX, DBFNTX, DELIM, SDF, FCOMMA
Ya dando vueltas ...
Puede ser cosa de 'permisos' ya que el script prg se ejecuta en c:/Apache24/htdocs/tmod
siendo tmod un enlace simbólico a c:\dev\hbweb ??
Re: Inclusión archivos de cabecera
Publicado: Lun May 23, 2022 1:15 pm
por charly
Esta tarde le hecho un vistazo al tema e intento poner ejemplo
C.
Re: Inclusión archivos de cabecera
Publicado: Lun May 23, 2022 7:30 pm
por charly
Quim,
Pues no lo pillo. Si pongo un fichero por ejemplo dentro de una carpeta include en el mismo directorio, y hago p.e. esto
Código: Seleccionar todo
#include "{% hb_getenv( 'PRGPATH' ) + '/include/my.ch' %}"
Esto si funciona, pero no si seteo hb_include que mire en c:\temp y tengo alla el ch no lo encuentra
Código: Seleccionar todo
// {% hb_setenv( 'HB_INCLUDE', 'c:\TEMP' ) %}
#include "my.ch"
...
Seguire investigando, ha de ser una tonteria
C.