COMPILANDO - UNA CURIOSIDAD
Posted: Tue Aug 21, 2018 4:48 pm
Hola,
Tengo un fichero ".HBP" con una serie de PRG que forman parte de la aplicación.
CONMENU.PRG
CONMAAS.PRG
CONMACO.PRG
CONMACU.PRG
CONMAEM.PRG
CONLIAS.PRG
CONLIEX.PRG
CONBASS.PRG
CONACSA.PRG
Tengo un fichero ".HBC" con estos datos
incpaths=
libpaths=
libs=
gt=
mt=no
instpaths=
Y he realizado una serie de modificaciones sobre la clase REPORT.PRG la cual la tengo en el directorio de origen \HMG.3.4.4\SOURCE\REPORT.
Hasta hay todo correcto, pero el otro dia vi que compañeros incluian estas lineas en sus programas
#include "hmg.ch"
#include "I_REPORT.CH"
#include "H_REPORT.PRG"
#include "_dbf.ch"
Lo que me daba a entender que yo podía incorporar mi clase REPORT modificada en el programa desde mi directoria de trabajo, sin tener que modificar la original y de esta forma tener siempre una copia sin necesidad de estropear.
Lo he probado y efectivamente funciona, pero me ocurre una cosa.
1/ Lo incorporo solo en el 3er. PRG de la lista del fichero ".HBP", concretamente "CONMACO.PRG" y me lo asume el resto de la aplicación. Todos los programas asumen la clase DO REPORT modificada, sin necesidad de ponerles el include en los otros ".PRG" ... ¿Eso es así...?
2/Hice lo mismo, pero en esta caso de el 1er. PROGRAMA, y en este caso me da un error en tiempo real.
Se me muestra una ventana que dice:
PROGRAM ERROR
ERROR BASE/1108 argument error: HB_UAT
Called from HB_UAT(0)
Called From EASYREPORT(169)
y la linea en cuestion es esta .
ctitle1:=HMG_LOWER(HB_USUBSTR(ctitle,HB_UAT('|',ctitle)+1))+'...'
¿Porque me da error en el 1er PRG de la lista, que casualmente es el 1er. PRG que se compila..?
¿Tiene que ver en algo el orden...?
Y porque si lo pongo los INCLUDE solo en un PRG (en CONMACO.PRG), me lo asumen el resto de PRG ..?
Es normal..?
Muchas gracias a todos..
Tengo un fichero ".HBP" con una serie de PRG que forman parte de la aplicación.
CONMENU.PRG
CONMAAS.PRG
CONMACO.PRG
CONMACU.PRG
CONMAEM.PRG
CONLIAS.PRG
CONLIEX.PRG
CONBASS.PRG
CONACSA.PRG
Tengo un fichero ".HBC" con estos datos
incpaths=
libpaths=
libs=
gt=
mt=no
instpaths=
Y he realizado una serie de modificaciones sobre la clase REPORT.PRG la cual la tengo en el directorio de origen \HMG.3.4.4\SOURCE\REPORT.
Hasta hay todo correcto, pero el otro dia vi que compañeros incluian estas lineas en sus programas
#include "hmg.ch"
#include "I_REPORT.CH"
#include "H_REPORT.PRG"
#include "_dbf.ch"
Lo que me daba a entender que yo podía incorporar mi clase REPORT modificada en el programa desde mi directoria de trabajo, sin tener que modificar la original y de esta forma tener siempre una copia sin necesidad de estropear.
Lo he probado y efectivamente funciona, pero me ocurre una cosa.
1/ Lo incorporo solo en el 3er. PRG de la lista del fichero ".HBP", concretamente "CONMACO.PRG" y me lo asume el resto de la aplicación. Todos los programas asumen la clase DO REPORT modificada, sin necesidad de ponerles el include en los otros ".PRG" ... ¿Eso es así...?
2/Hice lo mismo, pero en esta caso de el 1er. PROGRAMA, y en este caso me da un error en tiempo real.
Se me muestra una ventana que dice:
PROGRAM ERROR
ERROR BASE/1108 argument error: HB_UAT
Called from HB_UAT(0)
Called From EASYREPORT(169)
y la linea en cuestion es esta .
ctitle1:=HMG_LOWER(HB_USUBSTR(ctitle,HB_UAT('|',ctitle)+1))+'...'
¿Porque me da error en el 1er PRG de la lista, que casualmente es el 1er. PRG que se compila..?
¿Tiene que ver en algo el orden...?
Y porque si lo pongo los INCLUDE solo en un PRG (en CONMACO.PRG), me lo asumen el resto de PRG ..?
Es normal..?
Muchas gracias a todos..