我做了一个ActiveX控件,本地网页上可以正常使用(用VBScript),同样的网页放到Tomcat服务器上第一次能正常使用,下次就不能使用了,报那个控件不支持该属性或方法。查资料说MFC编写的ActiveX的接口与ATL的接口不同,需要怎么修改才能正确啊?

解决方案 »

  1.   

    使用vc的新建工程ATL COM Wizard向导创建COM组件
      

  2.   

    使用了如下的接口
    DECLARE_INTERFACE_MAP()
    BEGIN_INTERFACE_PART(ObjSafe, IObjectSafety)
    STDMETHOD_(HRESULT, GetInterfaceSafetyOptions)(
                /* [in] */ REFIID riid,
                /* [out] */ DWORD __RPC_FAR *pdwSupportedOptions,
                /* [out] */ DWORD __RPC_FAR *pdwEnabledOptions);
    STDMETHOD_(HRESULT, SetInterfaceSafetyOptions)(
                /* [in] */ REFIID riid,
                /* [in] */ DWORD dwOptionSetMask,
                /* [in] */ DWORD dwEnabledOptions);
          
       END_INTERFACE_PART(ObjSafe);但编译时出现error C2504: 'IObjectSafety' : base class undefined,需要加什么头文件啊?
      

  3.   

    谢谢,加上#include <objsafe.h>后问题解决了