之前写过 ocx 在客户端或网页上使用都没问题,但如果将 ocx 放到 web 服务器上后,再通过网页浏览时 ocx 无法显示,最后通过对 ocx 增加安全属性接口得以解决该问题。
xxxCtrl.h (xxx为项目名称)新增:
#include <ObjSafe.h>
DECLARE_INTERFACE_MAP()
BEGIN_INTERFACE_PART(ObjSafe, IObjectSafety);
STDMETHOD_(HRESULT, GetInterfaceSafetyOptions) (
REFIID riid,
DWORD __RPC_FAR *pdwSupportedOptions,
DWORD __RPC_FAR *pdwEnabledOptions
);
STDMETHOD_(HRESULT, SetInterfaceSafetyOptions) (
REFIID riid,
DWORD dwOptionSetMask,
DWORD dwEnabledOptions
);
END_INTERFACE_PART(ObjSafe);
xxxCtrl.cpp中新增:
<pre class="cpp" name="code">BEGIN_INTERFACE_MAP( CxxxCtrl, COleControl )
INTERFACE_PART( CxxxCtrl, IID_IObjectSafety, ObjSafe )
END_INTERFACE_MAP()
ULONG FAR EXPORT CxxxCtrl::XObjSafe::AddRef()
{
METHOD_PROLOGUE( CxxxCtrl, ObjSafe );
return p

本文介绍了在将OCX控件部署到Web服务器后,通过网页浏览时出现无法显示的问题。通过为OCX增加安全属性接口,成功解决了这一问题。
最低0.47元/天 解锁文章
1279

被折叠的 条评论
为什么被折叠?



