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

Reply via email to