Page 1 of 1

Unresolved external '_HB_FUN_HB_GT_WIN' Por qué se produce?

Posted: Fri Mar 13, 2009 1:59 pm
by Leon Valenzuela
Amigos del foro, por qué se produce este error cuando compilo con HARBOUR?

Code: Select all

Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_HB_GT_WIN' referenced from D:\HARBOUR\LIB\HBRTL.LIB|gtsys
Error: Unresolved external 'AlphaBlend' referenced from D:\FWH\LIB\FIVEHC.LIB|BRUSHES
Warning: Public symbol '_HB_FUN_PM_DATE' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_TB_BUS' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_BUS_OBJ' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_NET_USE' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_ADD_REC' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_REC_LOCK' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_KILL' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_CENTRAR' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_COUNT_PIX' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_PM_DATEX' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_BWCCREGISTER' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_AGREGA_EMP' defined in both module D:\FWH\CERTIFIC\CERTIF.OBJ and D:\FWH\CERTIFIC\EMPLEA.OBJ
Cualquier respuesta, estará muy agradecido.

Re: Unresolved external '_HB_FUN_HB_GT_WIN' Por qué se produce?

Posted: Fri Mar 13, 2009 2:48 pm
by QAZWSX2K
CREO SI MAS NO RECUERDO QUE EXITEN 2 LIBRERIAS, PERO SON LA MISMA, GTGUI Y GTWIN, EN NO RECUERDO LA VERSION CAMBIO DE NOMBRE

Re: Unresolved external '_HB_FUN_HB_GT_WIN' Por qué se produce?

Posted: Fri Mar 13, 2009 2:59 pm
by Leon Valenzuela
Resolví uno de los errores, reemplazé GTGui.lib por GTWin y desapareció el primero, ahora me queda este error:

Code: Select all

Error: Unresolved external 'AlphaBlend' referenced from D:\FWH\LIB\FIVEHC.LIB|BRUSHES
Warning: Public symbol '_HB_FUN_PM_DATE' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_TB_BUS' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_BUS_OBJ' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_NET_USE' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_ADD_REC' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_REC_LOCK' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_KILL' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_CENTRAR' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_COUNT_PIX' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_PM_DATEX' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_BWCCREGISTER' defined in both module D:\FWH\CERTIFIC\NEXUS.OBJ and D:\FWH\CERTIFIC\CERTIF.OBJ
Warning: Public symbol '_HB_FUN_AGREGA_EMP' defined in both module D:\FWH\CERTIFIC\CERTIF.OBJ and D:\FWH\CERTIFIC\EMPLEA.OBJ
Alphablend no tengo ni la más mínima idea de por que lo reclama...

Estaré eternamete agradecido por pistas que me ayuden a solucionar este problema.

Re: Unresolved external '_HB_FUN_HB_GT_WIN' Por qué se produce?

Posted: Fri Mar 13, 2009 5:34 pm
by Antonio Linares
Tienes que enlazar la libreria bcc55\lib\psdk\msimg32.lib
que proporciona la funcion AlphaBlend.

Respecto a los otros warnings (avisos) que te aparecen, se deben a que tienes repetidas una serie de funciones en los modulos: CERTIFIC\NEXUS.PRG y CERTIFIC\CERTIF.PRG, compruebalo.

Re: Unresolved external '_HB_FUN_HB_GT_WIN' Por qué se produce?

Posted: Tue Mar 17, 2009 11:16 pm
by Leon Valenzuela
Primero que nada, disculpen la demora, pero hace poco raro logré retomar la compilación de programas.

Agradezco profundamente sus respuesta, de hecho, logré compilar y ver mi aplicación, y estoy feliz por eso, pero al ejecutar la acción que me lleva de un browse a un menú, me arroja el siguiente error:

Code: Select all

Application
===========
   Path and name: D:\FWH\Certific\Nexus.exe (32 bits)
   Size: 2,313,728 bytes
   Time from start: 0 hours 0 mins 2 secs 
   Error occurred at: 03/17/09, 19:12:06
   Error description: Error BASE/1004  No exported method: HBRUSH
   Args:
     [   1] = U   

Stack Calls
===========
   Called from:  => HBRUSH(0)
   Called from:  => TPANEL:PAINT(0)
   Called from: .\source\classes\TPanel.PRG => (b)TPANEL(0)
   Called from:  => TPANEL:DISPLAY(0)
   Called from:  => TPANEL:HANDLEEVENT(0)
   Called from: .\source\classes\WINDOW.PRG => _FWH(0)
   Called from:  => UPDATEWINDOW(0)
   Called from:  => TWINDOW:ACTIVATE(0)
   Called from: .\WORK.PRG => TO_WORK(163)
   Called from: .\NEXUS.PRG => (b)MAIN(74)
   Called from:  => TTOOLBAR:COMMAND(0)
   Called from:  => TWINDOW:COMMAND(0)
   Called from:  => TWINDOW:HANDLEEVENT(0)
   Called from: .\source\classes\WINDOW.PRG => _FWH(0)
   Called from:  => WINRUN(0)
   Called from:  => TWINDOW:ACTIVATE(0)
   Called from: .\NEXUS.PRG => MAIN(124)
Realmente, no se qué pasa, por que con la 2.6 funciona fantástico, adjunto código fuente para análisis.

Code: Select all

#include "FiveWin.ch"

*------------------------------------------------------------------------------------
function To_Work(Empresas,_Ruta)

    Local oWnd, oTree,oBtns[100],oMainFont,oMenuIt[100],oToolBar1,oToolBar2,oToolBar3,oToolBar4,oToolBar5,oToolBar6,oToolBar7,oBtns2[100],oMIt[100],Execute[100]
   Local oMru1, oMru2, oMru3,Menos1,Menos2,Menos3,Menos4,Menos5,Menos6,Menos7,oDbf[100]
   Local cColorPan, hBorland,LTB1:=0,LTB2:=0,LTB3:=0,LTB4:=0,LTB5:=0,LTB6:=0,LTB7:=0,_FontLarge,oBmp
   Local _Ancho,_Largo,oImageList,oImgList1,oImgList2,oImgList3,oImgList4,oImgList5,oImgList6,oImgList7

   local oReBar, oToolBar, oPanel, oBtn1, oFolder, oFolders,oPanels
   local oHand,oFont3

    If ( DbUseFile(Alltrim(_Ruta)+"Empresa.DBF",.T.,"DBFNTX") )
      DataBase oDbf[100]
   Else
       Return Nil
   EndIf
   (oDbf[100]:GoTop())

    Empresa:=Alltrim((oDbf[100]:cAlias)->Razon_Soc)

    oDbf[100]:Close()

    Public HPAN1:=0,HPAL1:=0,;
          HPAN2:=0,HPAL2:=0,;
          HPAN3:=0,HPAL3:=0,;
          HPAN4:=0,HPAL4:=0,;
          HPAN5:=0,HPAL5:=0,;
            HPAN6:=0,HPAL6:=0,;
          HPWPG:=0,HPLarge:=0

   Public RutEmp:=Space(12),Razon:=Space(50),Direc:=Space(50),ComCiud:=Space(50)

    Select 1
   If ( DbUseFile("C:\Printers\H_P.DBF",.T.,"DBFNTX"))
      DataBase oDbf[100]
    Else
      Return Nil
   EndIf
    (oDbf[100]:GoTop())
   Set Filter To (oDbf[100]:cAlias)->Selec=' >>'
   (oDbf[100]:GoTop())
   HPAN1:=(oDbf[100]:cAlias)->Ancho1
   HPAL1:=(oDbf[100]:cAlias)->Alto1
   HPAN2:=(oDbf[100]:cAlias)->Ancho2
   HPAL2:=(oDbf[100]:cAlias)->Alto2
   HPAN3:=(oDbf[100]:cAlias)->Ancho3
   HPAL3:=(oDbf[100]:cAlias)->Alto3
   HPAN4:=(oDbf[100]:cAlias)->Ancho4
   HPAL4:=(oDbf[100]:cAlias)->Alto4
   HPAN5:=(oDbf[100]:cAlias)->Ancho5
   HPAL5:=(oDbf[100]:cAlias)->Alto5
   HPWPG:=(oDbf[100]:cAlias)->Ancho
   HPAN6:=(oDbf[100]:cAlias)->Ancho6
   HPAL6:=(oDbf[100]:cAlias)->Alto6
   HPLarge:=(oDbf[100]:cAlias)->Largo

   oDbf[100]:Close()

    DEFINE FONT oFont NAME "Estrangelo Edessa" WEIGHT 18 Bold
    Define Font oFont2 Name "Blue Highway" Size _FontLarge,24 Bold
    DEFINE FONT oMainFont NAME "Estrangelo Edessa" Size 6,17 Bold
    DEFINE FONT oFont3 NAME "Estrangelo Edessa" Size 6,14 Bold
    DEFINE WINDOW oWnd From .1,.1 to 14.2,127 TITLE "Certificados de Sueldos y Honorarios - "+Alltrim(Empresas)  NOZOOM
    Set Font Of oWnd To oFont

    oImgList1:=TImageList():New(48,48)

    oImgList1:AddMasked( TBitmap():Define( ,"Emp.Bmp", oWnd ),  )
    oImgList1:AddMasked( TBitmap():Define( ,"User.Bmp", oWnd ),  )
    oImgList1:AddMasked( TBitmap():Define( ,"Empresa.BMP", oWnd ),  )
    oImgList1:AddMasked( TBitmap():Define( ,"Factor.BMP", oWnd ),  )
    oImgList1:AddMasked( TBitmap():Define( ,"Param.BMP", oWnd ),  )


    oImgList2:=TImageList():New(48,48)

    oImgList2:AddMasked( TBitmap():Define( ,"CS.BMP", oWnd ),  )
    oImgList2:AddMasked( TBitmap():Define( ,"CH.BMP", oWnd ),  )
    oImgList2:AddMasked( TBitmap():Define( ,"GS.BMP", oWnd ),  )
    oImgList2:AddMasked( TBitmap():Define( ,"GH.BMP", oWnd ),  )


    oImgList3:=TImageList():New(48,48)

    oImgList3:AddMasked( TBitmap():Define( ,"Orden.BMP", oWnd ),  )
    oImgList3:AddMasked( TBitmap():Define( ,"End.BMP", oWnd ),  )

    oReBar = TReBar():New( oWnd )

    oPanels := TPanel():New( 0, 0, 66, 2000, oRebar )
   oPanel := TPanel():New( 85, 0, 85, 1000, oReBar )


    @ .1, .1 BitMap oBmp FILE Alltrim(_LOGOGR) SIZE 206, 65 OF oPanels NO BORDER Adjust
    @ 0,35 Say oSay1 Var Empresas Of oPanels Font oMainFont
    @ 1,35 Say oSay1 Var "R.U.T. "+_RRRR Of oPanels Font oFont3
    @ 2,35 Say oSay1 Var "Representante Legal : "+_RLegal Of oPanels Font oFont3
    @ 3,35 Say oSay1 Var "R.U.T. Representante Legal : "+_RRLegal Of oPanels Font oFont3

   @  44, 2 FOLDER oFolder PROMPTS "Maestros", "Certificados", "Miscelaneas" SIZE 800, 95

    oToolBar = TToolBar():New( oFolder:aDialogs[ 1 ], 68, 68, oImgList1 )
   oToolBar:nLeft = 5

    oToolBar:AddSeparator()
   oToolBar:AddButton( { || Empleados() }, "Maestro de Empleados","Maestro de Empleados" )
    oToolBar:AddSeparator()
   oToolBar:AddButton( { || Agentess() },"Agentes Prestadores","Agentes Prestadores" )
    oToolBar:AddSeparator()
   oToolBar:AddButton( { || MsgAlert("Desde el control Principal...") },"Mantención Empresa","Mantención Empresa" )
    oToolBar:AddSeparator()
   oToolBar:AddButton( { || Factor() }, "Maestro de Factores","Maestro de Factores" )
   oToolBar:AddSeparator()
   oToolBar:AddButton( { || MsgAlert() },"Parametros del Sistema","Parametros del Sistema" )
    oToolBar:AddSeparator()

   oToolBar2 = TToolBar():New( oFolder:aDialogs[ 2 ], 68, 68, oImgList2 )
    oToolBar2:AddSeparator()
   oToolBar2:AddButton( { || Certif() }, "Certificados de Sueldos","Certificados de Sueldos" )
   oToolBar2:AddSeparator()
   oToolBar2:AddButton( { || Honorarios() },"Certificados de Honorarios","Certificados de Honorarios" )
    oToolBar2:AddSeparator()
   oToolBar2:AddButton( { || Certificado_Sueldos_Empresa() } ,"Cuadratura Empresa Sueldos","Cuadratura Empresa Sueldos" )
    oToolBar2:AddSeparator()
   oToolBar2:AddButton( { || Certificado_Honorarios_Empresa() } ,"Cuadratura Empresa Honorarios","Cuadratura Empresa Honorarios" )
    oToolBar2:AddSeparator()

    oToolBar3 = TToolBar():New( oFolder:aDialogs[ 3 ], 68, 68, oImgList3 )
    oToolBar3:AddSeparator()
   oToolBar3:AddButton( { || Index() }, "Ordenar Archivos","Ordenar Archivos" )
    oToolBar3:AddSeparator()
   oToolBar3:AddButton({|| (oWnd:End())} ,"Salir del Sistema","Salir del Sistema" )
   oToolBar3:AddSeparator()

    oReBar:InsertBand( oPanels )
    oReBar:InsertBand( oFolder )



   DEFINE STATUSBAR OF oWnd PROMPT PM_Date(Date()) Font oMainFont

   ACTIVATE WINDOW oWnd 


return nil
*---------------------------------------------------------------
De antemano, a todos los que puedan ayudarme, gracias.

Re: Unresolved external '_HB_FUN_HB_GT_WIN' Por qué se produce?

Posted: Tue Mar 17, 2009 11:48 pm
by Antonio Linares
Leon,

Comprueba que tengas este codigo en la Clase TPanel:

Code: Select all

METHOD New( nTop, nLeft, nBottom, nRight, oWnd ) CLASS TPanel

   DEFAULT nTop := 0, nLeft := 0, nBottom := 100, nRight := 100,;
           oWnd := GetWndDefault()

   ::nTop    = nTop
   ::nLeft   = nLeft
   ::nBottom = nBottom
   ::nRight  = nRight
   ::oWnd    = oWnd
   ::nStyle  = nOr( WS_CHILD, WS_VISIBLE, WS_CLIPCHILDREN )
   ::lDrag   = .f.
   ::nClrPane = GetSysColor( COLOR_BTNFACE )

   #ifdef __XPP__
      DEFAULT ::lRegistered := .f.
   #endif

   ::Register()

   if ! Empty( ::oWnd:hWnd )
      ::Create()
      ::oWnd:AddControl( Self )
      if ::oWnd:oBrush != nil
         ::SetBrush( ::oWnd:oBrush )
      endif   
   else
      ::oWnd:DefControl( Self )
   endif

return Self
 
En concreto son estas tres lineas:

Code: Select all

      if ::oWnd:oBrush != nil
         ::SetBrush( ::oWnd:oBrush )
      endif   
 

Re: Unresolved external '_HB_FUN_HB_GT_WIN' Por qué se produce?

Posted: Wed Mar 18, 2009 3:31 pm
by Leon Valenzuela
Antonio, nuevamente muchas gracias, efectivamente, faltaban las 3 líneas de código que me indicaste, ahora tengo otro problema, cómo compilo la clase tpanel, para reemplazar la librería que la contiene?

Estaré muy agradecidos de obtener una respuesta.

Sinceramente, Leon.

Re: Unresolved external '_HB_FUN_HB_GT_WIN' Por qué se produce?

Posted: Wed Mar 18, 2009 9:06 pm
by Patricio Avalos Aguirre
Hola

Estas lineas gabalo como archivo DO.BAT en el directorio de c:\fwh\lib
te sirvira para cualquier clase de FWH

Code: Select all

@ECHO OFF

IF EXIST FIVEH.LOG DEL FIVEH.LOG

ECHO Classes  -TPANEL
c:\harbour\bin\harbour.exe c:\fwh\source\classes\TPANEL /n/a/v/w /ic:\fwh\include;c:\harbour\include >> FIVEH.LOG
if errorlevel 1 GOTO ERROR
ECHO -O2 -Ic:\harbour\include -tW TPANEL.C > b32.bc
c:\borland\bcc55\bin\bcc32.exe -tWM -DHB_GUI -DHB_API_MACROS -DHB_STACK_MACROS -DHB_FM_STATISTICS_OFF -d -a8 -OS -O2 -5 -c @b32.bc >> FIVEH.LOG
c:\borland\bcc55\bin\tlib.exe fivehx -+TPANEL >> FIVEH.LOG
DEL TPANEL.C >> FIVEH.LOG
DEL TPANEL.OBJ >> FIVEH.LOG

goto end

:error
echo error de compilacion >> FIVEH.LOG
notepad FIVEH.LOG

:end

PAUSE

Re: Unresolved external '_HB_FUN_HB_GT_WIN' Por qué se produce?

Posted: Thu Mar 19, 2009 2:37 pm
by Leon Valenzuela
Patricio, gracias, he podigo cargar la modificación a la lib, pero sin embargo, ahora me aparece otro error, jeje, que molesto... bueno, les dejo el mensaje de error y la función en que se produce. De Ante mano, Gracias.

Code: Select all

Application
===========
   Path and name: D:\FWH\Certific\Nexus.exe (32 bits)
   Size: 2,313,728 bytes
   Time from start: 0 hours 0 mins 4 secs 
   Error occurred at: 03/19/09, 10:33:09
   Error description: Error BASE/1004  No exported method: HBRUSH
   Args:
     [   1] = U   

Stack Calls
===========
   Called from:  => HBRUSH(0)
   Called from:  => TPANEL:PAINT(70)
   Called from: D:\fwh\source\classes\TPANEL.prg => (b)TPANEL(23)
   Called from:  => TPANEL:DISPLAY(0)
   Called from:  => TPANEL:HANDLEEVENT(0)
   Called from: .\source\classes\WINDOW.PRG => _FWH(0)
   Called from:  => UPDATEWINDOW(0)
   Called from:  => TWINDOW:ACTIVATE(0)
   Called from: .\WORK.PRG => TO_WORK(144)
   Called from: .\NEXUS.PRG => (b)MAIN(117)
   Called from:  => TSBROWSE:LDBLCLICK(6154)
   Called from:  => TWINDOW:HANDLEEVENT(0)
   Called from:  => TCONTROL:HANDLEEVENT(0)
   Called from:  => TSBROWSE:HANDLEEVENT(6412)
   Called from: .\source\classes\WINDOW.PRG => _FWH(0)
   Called from:  => WINRUN(0)
   Called from:  => TWINDOW:ACTIVATE(0)
   Called from: .\NEXUS.PRG => MAIN(124)
 
Ahora, la función:

Code: Select all

METHOD Paint() CLASS TPanel

   local nTop, nLeft, nHeight, nWidth, nBevel
   local aInfo := ::DispBegin()

   FillRect( ::hDC, GetClientRect( ::hWnd ), ::oBrush:hBrush )    // Esta es la línea en que el programa se cae.

   if ::oClient != nil .and. ( nBevel := ::oClient:nClientBevel ) > 0
      nBevel  -= 1
      nTop    := nBevel
      nLeft   := nBevel
      nHeight := ::nHeight - nBevel - 1
      nWidth  := ::nWidth - nBevel - 1
      if ::oTop != nil
         nTop += ::oTop:nHeight
      endif
      if ::oBottom != nil
         nHeight -= ::oBottom:nHeight
      endif
      if ::oLeft != nil
         nLeft += ::oLeft:nWidth
      endif
      if ::oRight != nil
         nWidth -= ::oRight:nWidth
      endif
      WndBoxIn( ::hDC, nTop, nLeft, nHeight, nWidth )
   endif

   ::DispEnd( aInfo )

return 0

Re: Unresolved external '_HB_FUN_HB_GT_WIN' Por qué se produce?

Posted: Thu Mar 19, 2009 5:05 pm
by metaldrummer

Re: Unresolved external '_HB_FUN_HB_GT_WIN' Por qué se produce?

Posted: Thu Mar 19, 2009 7:22 pm
by Antonio Linares
Leon,

El error se produce ahi porque ::oBrush es nil. Con el cambio que te indique no deberia dar ese error, pero para estar seguros de que estas usando la clase modificada, introduce este cambio tambien:

Code: Select all

   if ::oBrush != nil
      FillRect( ::hDC, GetClientRect( ::hWnd ), ::oBrush:hBrush )
   endif
 

Re: Unresolved external '_HB_FUN_HB_GT_WIN' Por qué se produce?

Posted: Thu Mar 19, 2009 10:40 pm
by Leon Valenzuela
Antonio, realmente mereces toda mi admiración.

Reemplazé las líneas de código en la class y fin del problema.

Muchas Gracias.

Soy muy feliz al ver compilada mi aplicación.