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