用ATL开发ActiveX控件如何设置脚本安全

疯石头 2010-01-24 04:04:50
如题
...全文
180 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
疯石头 2010-01-24
  • 打赏
  • 举报
回复
用mfc的直接修改注册表没成功。以下和ls几位大神说的差不错。。。望对后来者有帮助。http://blog.csdn.net/zhouxing_24/archive/2008/12/30/3651420.aspx
疯石头 2010-01-24
  • 打赏
  • 举报
回复
对不起大家。。。我的错!!
我在网上找了一个例子
http://www.vcer.net/1183942830468.html
但是copy后还是提示不安全呢?
雪影 2010-01-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 feng0_0zi 的回复:]
class CMeetingMng_DKCtrl : public COleControl
{
DECLARE_DYNCREATE(CMeetingMng_DKCtrl)
public:
// Constructor
public:
CMeetingMng_DKCtrl();

// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMeetingMng_DKCtrl)
public:
virtual void OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
..

这个是我activex的实现类 不是您那个样子的呀。
[/Quote]
lz你这是使用MFC开发Acticvex,而不是ATL
疯石头 2010-01-24
  • 打赏
  • 举报
回复
把atlbase放在atlctl前包含 那错误就更多了。
疯石头 2010-01-24
  • 打赏
  • 举报
回复
加入到继承列表中后error C2504: 'IObjectSafetyImpl' : base class undefined
添加上#include <atlctl.h> 后进入到#error atlwin.h requires atlbase.h to be included first
这是为什么?
sjdev 2010-01-24
  • 打赏
  • 举报
回复
IObjectSafetyImpl加到你的继承列表中,然后把IObjectSafety加到COM_MAP中。
疯石头 2010-01-24
  • 打赏
  • 举报
回复
class CMeetingMng_DKCtrl : public COleControl
{
DECLARE_DYNCREATE(CMeetingMng_DKCtrl)
public:
// Constructor
public:
CMeetingMng_DKCtrl();

// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMeetingMng_DKCtrl)
public:
virtual void OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
..

这个是我activex的实现类 不是您那个样子的呀。
sjdev 2010-01-24
  • 打赏
  • 举报
回复
确切地说,你需要添加的是:
public IObjectSafetyImpl<CYourClass,INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA>

COM_INTERFACE_ENTRY(IObjectSafety) //添加映射
sjdev 2010-01-24
  • 打赏
  • 举报
回复
class ATL_NO_VTABLE CYourClass   :   //从IObjectSafetyImpl派生   
public IObjectSafetyImpl<CYourClass,INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA>
{
BEGIN_COM_MAP(CChatObj)
COM_INTERFACE_ENTRY(IObjectSafety) //添加映射
END_COM_MAP()
}
疯石头 2010-01-24
  • 打赏
  • 举报
回复
我用vc6带的atl开发activex 还请详细说下。。。
雪影 2010-01-24
  • 打赏
  • 举报
回复
实现SAFE FOR SCRIPTING AND SAFE FOR INITIALIZING类别,
并且实现IObjectSafe接口
sjdev 2010-01-24
  • 打赏
  • 举报
回复
需要实现IObjectSafety接口,直接从IObjectSafetyImpl继承吧。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧