Estoy compilando en tiempo de ejecucion y me sale el siguiente error:
Error BASE/6101 Unknown or unregistered symbol: NETIO_CONNECT
Called from HB_HRBLOAD(0)
Called from CREAR_HRB(83)
Called from MAIN(97)
Por favor que alguien me indique como corregirlo.
Gracias
Ayuda en Compilacion en tiempo de ejecucion
Moderator: Rathinagiri
- Pablo César
- Posts: 4059
- Joined: Wed Sep 08, 2010 1:18 pm
- Location: Curitiba - Brasil
Re: Ayuda en Compilacion en tiempo de ejecucion
Y tu código ?
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Re: Ayuda en Compilacion en tiempo de ejecucion
Un ejemplo...
Lo siguiente es test01.prg
A test01.prg lo convierto en un ejecutable "test01.exe"
Al pulsar el boton este debe compilar a test02.prg y ejecutar la funcion "conecta"
Pero da el error mencionado anteriormente...
y aca esta test02.prg
Agradezco su ayuda ...
Lo siguiente es test01.prg
Code: Select all
#include "hmg.ch"
****************************************************************************************************************
Function Main()
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 500 ;
HEIGHT 200 ;
MAIN;
TITLE 'Button Test'
@30,10 BUTTON Button_1 CAPTION "Pueba de Compilación" WIDTH 450 HEIGHT 50 ACTION CREAHRB()
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return
****************************************************************************************************************
FUNCTION CREAHRB
ELPRG:="TEST02.PRG"
ELHRB:="TEST02.HRB"
HMG_PATH:=[C:\HMG.3.4.3]
ALTD()
IF FILE(ELPRG)
TXTPRG:=MEMOREAD(ELPRG)
TXTHRB:=hb_CompileFromBuf(TXTPRG,"harbour", "/n", "/i"+HMG_PATH )
MEMOWRIT(ELHRB,sx_encrypt(TXTHRB,"myPaswdKey"))
TXTHRB:=sx_decrypt(MEMOREAD(ELHRB),"myPaswdKey")
nHandle:=hb_hrbload(TXTHRB)
call_func(nHandle,"CONECTA")
hb_hrbunload( nHandle )
ENDIF
RETURN
****************************************************************************************************************
static function call_func( nHandle, cFunc, xPar )
local xRet := HB_HRBGETFUNSYM( nHandle, cFunc )
if empty( xRet )
? "Error load in function " + cFunc
quit
endif
return eval( xRet, xPar )
****************************************************************************************************************
Al pulsar el boton este debe compilar a test02.prg y ejecutar la funcion "conecta"
Pero da el error mencionado anteriormente...
y aca esta test02.prg
Code: Select all
PROCEDURE CONECTA
if NETIO_CONNECT("127.0.0.1","2941")
*DBUseArea(.t.,,c_STR_Con,AllTrim(Main.Text_2.Value))
*EDIT EXTENDED
endif
RETURN
- Pablo César
- Posts: 4059
- Joined: Wed Sep 08, 2010 1:18 pm
- Location: Curitiba - Brasil
Re: Ayuda en Compilacion en tiempo de ejecucion
Hola te pido un poco más de tiempo. Realmente hé encontrado algunas dificultades.
Y todavia no llegué a una conclusion concreta a no ser que no tiene nad a ver con NETIO_CONNECT en si.
O por lo menos yo no estoy dominando. En todas la veces que usé, hb_CompileFromBuf me ha funcionado, pero ahora hasta con un simples ejemplo de MsgInfo en lugar de NETIO_CONNECT me está dando errores...
Te explico para que no pienses que te abandoné o que yo desisti de ayudarte.
A veces doy mas tiempo a mis aplicaciones mucho más de lo que talvez deberia...
Disculpame mi atrazo.
Y todavia no llegué a una conclusion concreta a no ser que no tiene nad a ver con NETIO_CONNECT en si.
O por lo menos yo no estoy dominando. En todas la veces que usé, hb_CompileFromBuf me ha funcionado, pero ahora hasta con un simples ejemplo de MsgInfo en lugar de NETIO_CONNECT me está dando errores...
Te explico para que no pienses que te abandoné o que yo desisti de ayudarte.
A veces doy mas tiempo a mis aplicaciones mucho más de lo que talvez deberia...
Disculpame mi atrazo.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Re: Ayuda en Compilacion en tiempo de ejecucion
Hola.
Gracias por su interes en esto.
Y quiero informar lo siguiente:
Que si en test01.prg se hago referencia a la function netio_connect() no da el error al compilar.
Ejemplo, ver al final de test01.prg:
Entonces en test02.prg puedo invocar tranquilamente la function netio_connect o la function jsnetioconnect
( cualquiera de las 2 funciones ) y compila sin error y funciona correctamente (probado).
Otra cosa: he notado que para para la function fieldput() tambien sucede lo mismo y lo he arreglado de la misma manera.
Gracias por su interes en esto.
Y quiero informar lo siguiente:
Que si en test01.prg se hago referencia a la function netio_connect() no da el error al compilar.
Ejemplo, ver al final de test01.prg:
Code: Select all
#include "hmg.ch"
****************************************************************************************************************
Function Main()
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 500 ;
HEIGHT 200 ;
MAIN;
TITLE 'Button Test'
@30,10 BUTTON Button_1 CAPTION "Pueba de Compilación" WIDTH 450 HEIGHT 50 ACTION CREAHRB()
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return
****************************************************************************************************************
FUNCTION CREAHRB
ELPRG:="TEST02.PRG"
ELHRB:="TEST02.HRB"
HMG_PATH:=[C:\HMG.3.4.3]
ALTD()
IF FILE(ELPRG)
TXTPRG:=MEMOREAD(ELPRG)
TXTHRB:=hb_CompileFromBuf(TXTPRG,"harbour", "/n", "/i"+HMG_PATH )
MEMOWRIT(ELHRB,sx_encrypt(TXTHRB,"myPaswdKey"))
TXTHRB:=sx_decrypt(MEMOREAD(ELHRB),"myPaswdKey")
nHandle:=hb_hrbload(TXTHRB)
call_func(nHandle,"CONECTA")
hb_hrbunload( nHandle )
ENDIF
RETURN
****************************************************************************************************************
static function call_func( nHandle, cFunc, xPar )
local xRet := HB_HRBGETFUNSYM( nHandle, cFunc )
if empty( xRet )
? "Error load in function " + cFunc
quit
endif
return eval( xRet, xPar )
****************************************************************************************************************
procedure jsnetioconnect(x,y)
NETIO_CONNECT(X,Y)
return
****************************************************************************************************************
( cualquiera de las 2 funciones ) y compila sin error y funciona correctamente (probado).
Otra cosa: he notado que para para la function fieldput() tambien sucede lo mismo y lo he arreglado de la misma manera.
- Pablo César
- Posts: 4059
- Joined: Wed Sep 08, 2010 1:18 pm
- Location: Curitiba - Brasil
Re: Ayuda en Compilacion en tiempo de ejecucion
Gracias por compartir.
Es como si precisaria de estar presente en el código para considerarla...
Vá entender. Algo asi ya me pasó en el pasado con FMG_Editor, FMG_View e PRG2Fmg:
viewtopic.php?p=34015#p34015
Claudio definió ese comportamiento estraño como: "se están comportando como si fuesen de enlace dinámico"
Bueno lo importante que resolviste.
Es como si precisaria de estar presente en el código para considerarla...
Vá entender. Algo asi ya me pasó en el pasado con FMG_Editor, FMG_View e PRG2Fmg:
viewtopic.php?p=34015#p34015
Claudio definió ese comportamiento estraño como: "se están comportando como si fuesen de enlace dinámico"
Bueno lo importante que resolviste.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein