Hello I was experimenting and got to this point : olecore.c line # 231
case HB_IT_OBJECT: /* or ARRAY */ if( HB_IS_OBJECT( pItem ) ) { // if( hb_stricmp( hb_objGetClsName( pItem ), "HB_OLEAUTO" ) == 0 ) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ { IDispatch * pDisp; hb_vmPushDynSym( s_pDyns_hObjAccess ); hb_vmPush( pItem ); hb_vmSend( 0 ); pDisp = hb_oleParam( -1 ); /* pVariant will be freed using VariantClear(). We increment reference count to keep OLE object alive */ #if HB_OLE_C_API pDisp->lpVtbl->AddRef( pDisp ); #else pDisp->AddRef(); #endif pVariant->n1.n2.vt = VT_DISPATCH; pVariant->n1.n2.n3.pdispVal = pDisp; } } If I comment out line # 231 as above oDialogs:calendar := oCal works fine and I can open the dialogs. You can see that the object is issued AddRef(). May it help you understanding what is happening. Regards Pritpal Bedi -- View this message in context: http://www.nabble.com/Errors-with-11032-tp23521549p23628301.html Sent from the Harbour - Dev mailing list archive at Nabble.com. _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour