Llamar Archivo .HRB desde un .PRG

Llamar Archivo .HRB desde un .PRG

Postby Compuin » Fri Aug 26, 2011 10:36 pm

Buenas tardes,

Estoy llamando una funcion creada en un archivo .HRB y este es el codigo que estoy utilizando dese un MAIN.PRG desede un boton

DEFINE BUTTON ::oBtn OF ::oBar;
TOOLTIP "Bancos" MESSAGE "Bancos" NOBORDER ADJUST;
ACTION (hb_hrbrun( "test.hrb" ))

La intencion es ejecutar un mensaje que ya fue compilado en un archivo test.hrb pero me esta arrojando el siguiente error

echo C:\xharbour\lib\macro.lib + >> b32.bc
echo C:\xharbour\lib\rdd.lib + >> b32.bc
echo C:\xharbour\lib\dbfntx.lib + >> b32.bc
echo C:\xharbour\lib\dbfcdx.lib + >> b32.bc
echo C:\xharbour\lib\dbffpt.lib + >> b32.bc
echo C:\xharbour\lib\hbsix.lib + >> b32.bc
echo C:\xharbour\lib\debug.lib + >> b32.bc
echo C:\xharbour\lib\common.lib + >> b32.bc
echo C:\xharbour\lib\pp.lib + >> b32.bc
echo C:\xharbour\lib\pcrepos.lib + >> b32.bc
echo C:\xharbour\lib\codepage.lib + >> b32.bc
echo C:\xharbour\lib\ct.lib + >> b32.bc
echo C:\bcc582\lib\cw32.lib + >> b32.bc
echo C:\bcc582\lib\import32.lib + >> b32.bc
IF EXIST main.res echo main.res >> b32.bc
C:\bcc582\bin\ilink32 -Gn -aa -Tpe -s -v @b32.bc
Turbo Incremental Link 5.69 Copyright (c) 1997-2005 Borland
Error: Unresolved external '_HB_FUN_HB_HRBRUN' referenced from C:\MX\OBJ\MAIN.OBJ

** error 2 ** deleting main.exe

C:\MX>

Por favor, explicame lo que estoy haciendo mal

Agradeciendo de antemano
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: Llamar Archivo .HRB desde un .PRG

Postby Antonio Linares » Sat Aug 27, 2011 6:18 pm

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Llamar Archivo .HRB desde un .PRG

Postby Compuin » Tue Aug 30, 2011 3:52 pm

Gracias Antonio,

Este es el codigo que estoy usando

#include "fivewin.ch"
FUNCTION Main()
LOCAL ohrb
msginfo( "Hola" )
ohrb := hb_compilebuf( hb_argv(0), "tutor01.prg", "-n")
hb_hrbrun( ohrb)
msginfo( "Adios")
RETURN NIL

Pero al ejecutar me sale este error

Application
===========
Path and name: C:\FWH\samples\testhrb.exe (32 bits)
Size: 1,965,568 bytes
Time from start: 0 hours 0 mins 1 secs
Error occurred at: 08/30/11, 11:21:17
Error description: Error BASE/6103 Argument error: HB_HRBRUN
Args:
[ 1] = U

Stack Calls
===========
Called from: => HB_HRBRUN(0)
Called from: testhrb.prg => MAIN(6)

System
======
CPU type: Intel(R) Pentium(R) D CPU 3.40GHz 3400 Mhz
Hardware memory: 1014 megs

Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %

Compiler version: Harbour 2.1.0beta1 (Rev. 14559)

Sera algo malo en la sintaxis del .PRG?
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: Llamar Archivo .HRB desde un .PRG

Postby Compuin » Tue Aug 30, 2011 6:23 pm

Hice esta otra prueba y tambien me arroja error

#include "fivewin.ch"

FUNCTION Main()
LOCAL oHrb
msginfo("Hola")
HB_Compile( "", "tutor01.prg", "/n", "/gh" )

oHrb = HB_HRBLOAD( "tutor01.hrb" )

HB_HRBDO( oHrb )

HB_HRBUNLOAD( oHrb )

FERASE( "tutor01.hrb" )

RETURN NIL

Application
===========
Path and name: C:\FWH\samples\testhrb.exe (32 bits)
Size: 1,965,568 bytes
Time from start: 0 hours 0 mins 2 secs
Error occurred at: 08/30/11, 13:49:43
Error description: (DOS Error 2) BASE/6102 Open error: tutor01.hrb
Args:
[ 1] = C tutor01.hrb

Stack Calls
===========
Called from: => HB_HRBLOAD(0)
Called from: testhrb.prg => MAIN(9)

Por que no permite crear el archivo .HRB? Sera problema de version () ????

Compiler version: Harbour 2.1.0beta1 (Rev. 14559)
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: Llamar Archivo .HRB desde un .PRG

Postby Carles » Wed Aug 31, 2011 6:46 am

Hola,

Es codigo lo he probado y funciona.

Code: Select all  Expand view
#include "fivewin.ch"

FUNCTION Main()

   LOCAL oHrb

   HB_Compile( "", "tutor01.prg", "/n", "/gh" )

   oHrb = HB_HRBLOAD( "tutor01.hrb" )

   HB_HRBDO( oHrb )

   HB_HRBUNLOAD( oHrb )

RETU NIL


Y tutor01.prg es

Code: Select all  Expand view
#include 'fivewin.ch'

FUNCTION Test()

   MsgInfo( 'Hi Hrb...' )

RETU NIL


Compilado con Harbour 2.1.0beta1 (Rev. 14559)
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
Carles
 
Posts: 1134
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Re: Llamar Archivo .HRB desde un .PRG

Postby lucasdebeltran » Wed Aug 31, 2011 10:06 am

Hola:

Añade en el principal

Code: Select all  Expand view
#include "hbextern.ch"
 



Y en tutor01.prg quita el include y nos comentas.

Salu2
Muchas gracias. Many thanks.

Un saludo, Best regards,

Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]

Implementando MSVC 2010, FWH64 y ADO.

Abandonando uso xHarbour y SQLRDD.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: Llamar Archivo .HRB desde un .PRG

Postby Compuin » Wed Aug 31, 2011 10:08 am

Saludos

Lo porbare
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 45 guests