Page 1 of 1

Erros usando activex

Posted: Fri Apr 24, 2009 1:02 am
by Rossine
Olá Antonio,

Ao tentar compilar webexp.prg me é gerado o seguintes erro usando o FWH 9.04:

Code: Select all

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ FiveWin for Harbour 9.01 (MSVC++) Jan. 2009      Harbour development power ³Ü
³ (c) FiveTech, 1993-2009     for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7 ³Û
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
Setting environment for using Microsoft Visual Studio 2008 x86 tools.
Compiling...
FiveHCM.lib(BMPDRAW.obj) : warning LNK4006: _HB_FUN_RESIZEBMP already defined in FiveHM.lib(BTNBMP.obj); second definition ignored
FiveHCM.lib(RECTS.obj) : warning LNK4006: _HB_FUN_CREATEROUNDRECTRGN already defined in FiveHM.lib(BTNBMP.obj); second definition ignored
FiveHCM.lib(RECTS.obj) : warning LNK4006: _HB_FUN_SETWINDOWRGN already defined in FiveHM.lib(BTNBMP.obj); second definition ignored
hbrtl.lib(tget.obj) : warning LNK4006: _HB_FUN_GETNEW already defined in FiveHM.lib(TCLIPGET.obj); second definition ignored
hbwin.lib(win_dll.obj) : warning LNK4006: _HB_FUN_CALLDLL already defined in FiveHCM.lib(CALLDLL.obj); second definition ignored
hbwin.lib(win_ole.obj) : warning LNK4006: _HB_FUN_MESSAGEBOX already defined in FiveHCM.lib(MSGS.obj); second definition ignored
FiveHCM.lib(ACTX.obj) : error LNK2019: unresolved external symbol _HB_FUN_OLEINVOKE referenced in function _HB_FUN_ACTXINVOKE
FiveHCM.lib(ACTX.obj) : error LNK2019: unresolved external symbol _HB_FUN_OLESETPROPERTY referenced in function _HB_FUN_ACTXSETPROPERTY
FiveHCM.lib(ACTX.obj) : error LNK2019: unresolved external symbol _HB_FUN_OLEGETPROPERTY referenced in function _HB_FUN_ACTXGETPROPERTY
FiveHCM.lib(ACTX.obj) : error LNK2019: unresolved external symbol _hb_oleVariantToItem referenced in function _InvokeEvent
FiveHCM.lib(MSGSAPI.obj) : error LNK2019: unresolved external symbol _hb_oleAnsiToWide referenced in function _HB_FUN_SENDWIDESTRINGMESSAGE
webexp.exe : fatal error LNK1120: 5 unresolved externals
* Linking errors *
 
Como resolver isto ?

Re: Erros usando activex

Posted: Fri Apr 24, 2009 4:23 pm
by Rossine
Olá Antonio,

Para os erros...

Code: Select all

FiveHCM.lib(ACTX.obj) : error LNK2019: unresolved external symbol _HB_FUN_OLEINVOKE referenced in function _HB_FUN_ACTXINVOKE
FiveHCM.lib(ACTX.obj) : error LNK2019: unresolved external symbol _HB_FUN_OLESETPROPERTY referenced in function _HB_FUN_ACTXSETPROPERTY
FiveHCM.lib(ACTX.obj) : error LNK2019: unresolved external symbol _HB_FUN_OLEGETPROPERTY referenced in function _HB_FUN_ACTXGETPROPERTY
 
... foram, corrigidos com o código abaixo:

Code: Select all

function OleGetProperty( hObj, cPropName )

   local o := TOleAuto()
   local uRet

   o:hObj = hObj
   uRet = __ObjSendMsg( o, cPropName )
   o:hObj = nil

return uRet

function OleSetProperty( hObj, cPropName, uValue )

   local o := TOleAuto()
   local uRet

   o:hObj := hObj
   uRet   := __ObjSendMsg( o, "_" + cPropName, uValue )
   o:hObj := nil

return uRet

#ifdef __XHARBOUR__
function OleInvoke( hObj, cMethName ) 
#else
function OleInvoke( hObj, cMethName, ... ) 
#endif

   local o := TOleAuto() 
   local uRet 

   o:hObj := hObj 

#ifdef __XHARBOUR__
   uRet := o:Invoke( cMethName ) 
#else
   uRet := o:Invoke( cMethName, ... ) 
#endif
   o:hObj := nil 

return uRet 

*#endif
 
Isto está correto ?

E como corrigir estes outros erros:

Code: Select all

FiveHCM.lib(ACTX.obj) : error LNK2019: unresolved external symbol _hb_oleVariantToItem referenced in function _InvokeEvent
FiveHCM.lib(MSGSAPI.obj) : error LNK2019: unresolved external symbol _hb_oleAnsiToWide referenced in function _HB_FUN_SENDWIDESTRINGMESSAGE
 

Re: Erros usando activex

Posted: Fri Apr 24, 2009 5:48 pm
by Antonio Linares
Rossine,

Por favor usa esta mejorada Clase TActiveX:
http://forums.fivetechsupport.com/viewt ... =3&t=15314

Re: Erros usando activex

Posted: Fri Apr 24, 2009 7:14 pm
by Rossine
Olá Antonio,

Usando harbour + BCC funciona 100%, o problema é com MSVC. Mesmo linkando esta nova classe agora aparece somente 1 erro, veja:

Code: Select all

FiveHCM.lib(MSGSAPI.obj) : error LNK2019: unresolved external symbol _hb_oleAnsiToWide referenced in function _HB_FUN_SENDWIDESTRINGMESSAGE
webexp.exe : fatal error LNK1120: 1 unresolved externals
 

Re: Erros usando activex

Posted: Mon Apr 27, 2009 12:00 am
by Rossine
up :lol:

Re: Erros usando activex

Posted: Mon Apr 27, 2009 9:46 am
by Antonio Linares
Rossine,

Estas enlazando Harbour hbwin.lib ?

Re: Erros usando activex

Posted: Mon Apr 27, 2009 12:03 pm
by Rossine