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 );
}

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,

Thanks for your help,

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

Reply via email to