#import "c:\winnt\.........\xxx.ocx" named_guids no_namespace

解决方案 »

  1.   

    多谢多谢!
    可是我用该指针调用接口成员函数时又出了毛病
    m_pIf->SetProperty(...);
    编译时显示:
    error C2039: 'SetProperty' : is not a member 
    of '_NoAddRefReleaseOnCComPtr<struct IProducerControl2>'
    可是该函数是接口的成员函数,是什么毛病?
    如果分数不够,可以再追加,谢谢!
      

  2.   

    m_pIf 是NoAddRefReleaseOnCComPtr<struct IProducerControl2> 类型的指针吧, 它把原始的接口包起来了.
    应该申请指针类型 IProducerControl2.
    或者看看你的工程文件中多出来的一些头文件,这些文件中有接口的所有定义!
      

  3.   

    谢谢!
    m_pIf声明是CComPtr类型的,我用CComPtr<>声明的指针在调用CComPtr的成员
    函数例如Release()时,出现的提示却是调用_NoAddRefReleaseOnCComPtr的
    Release(),而它却是private类型的,所以调用失败,而调用的如果是CComPtr的Release应该是成功的,这是为什么?在AtlBase.h文件里看这两个
    模板类好像没什么联系
      

  4.   

    如果使用CComPtr就不用AddRef, Release了,这是一个SmartPoint,在它的构造和析构函数中已经处理了!所以调用的时候会出错!
    如果你要释放对象引用,就有delete m_plf好了!