Viktor,

My proposed changes with your fix to use hb_parnint() are working fine :-)

So we just need this call in legacy.prg:
  IF ISNUMBER( xOle )
     xOle := __OLEPDISP( xOle )
  ENDIF

and add this function to olecore.c:
HB_FUNC( __OLEPDISP )
{
  IDispatch*  pDisp = ( IDispatch * ) hb_parnint( 1 );
  IDispatch** ppDisp;

  ppDisp = ( IDispatch** ) hb_gcAlloc( sizeof( IDispatch* ),
hb_ole_destructor );
  *ppDisp = pDisp;
  hb_retptrGC( ppDisp );
}

Nice.

this way we keep backwards compatibility with previous Harbour OleAuto
code and also we are compatible with xHarbour :-)

If you are so kind to upload it to the SVN then we can tell our FWH
users to download and use the official Harbour builds instead of
having to provide a modified build of our own. Thanks,

Okay. I'll do only one modification, __OLEPDISP() will be put in
legacyc.c, plus I may rename it. I'll do this tomorrow.

Thanks for your help,

You're welcome.

Brgds,
Viktor

_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to