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

Reply via email to