Hi,
oCal := hb_ActiveX( ... )
..
..
oDialogs := CreateObject( "Codejock.CalendarDialog.11.2.2" )
? valtype( oDialogs ) // "O"
oDialogs:calendar := oCal -> Here it GPF's
I do not know the reason for without a deeper debugging. What is result of:
? oCal:ClassName
Current code converts only HB_OLEAUTO class to VT_DISPATCH parameter,
but I'm going to change it use a class inherited from HB_OLEAUTO, thus,
making
CLASS TOleAuto FROM HB_OleAuto
available for passing as IDispatch variant parameter.
Investigating deep I find
? valtype( oDialogs:calendar ) -> U
What I assume that some interfaces do not suppot IID_Dispatch,
may be it is IID_Unknown, I am not sure.
Extending above:
? valtype( oDialogs:ParentHWND ) -> 0 Correct
So I am lost why some properties are accessible while others not.
With previous implementation everything was fine.
What is result of
? valtype( oDialogs:calendar )
in previous version.
Then I tried to implement pDisp->lpVtbl->AddRef( pDisp );
but it does not work on hb_oleParam(), probably it expects numeric handle.
I'm not sure that you mean. hb_oleParam() returns IDispatch, and
AddRef() could be called.
Regards,
Mindaugas
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour