Viktor,

In FWH Class TActiveX we use this code (which was working fine with
previous OleAuto version):

      ::oOleAuto = TOleAuto():New( ActXPdisp( ::hActiveX ) )

ActXPdisp() returns a pDisp.

So we tried this change in legacy.prg:

   IF ISNUMBER( xOle )
      xOle := __OLEPDISP( xOle )
   ENDIF

__OLEPDISP() uses the same code as __OleCreateObject() at the end:

HB_FUNC( __OLEPDISP )
{
   IDispatch*  pDisp = ( IDispatch * ) hb_parnl( 1 );
   IDispatch** ppDisp;

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

That seemed enough to get it working, but hb_oleParam( -1 ) still
issues an error.

So something is still missing in our test. Hope this helps,

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

Reply via email to