ATL写ActiveX的注意事项

 一下都是经验之谈,仅供参考:

1. OnCreate函数执行不到:在构造函数中添加 m_bWindowOnly = TRUE; 这个是有窗口的ActiveX必须有的、

2. 添加属性无法执行:看看有没有实现永久化。实现永久化的主题网络上有很多。GOOGLE吧。

3. 用html写测试容器,如果用了<PARAM NAME ="XXX" VALUE=XXX>这样的写法给控件的属性赋值的话。有一个奇怪的问题。在本地执行html的时候控件可以正确加载,而一旦你把html放到远端,去访问的时候就有问题了。控件加载失败。我研究了一下,控件只能执行完构造函数,而像OnCreate等函数都得不到执行。如果你遇到了这个问题,那么看看你的控件是否从IObjectSafetyImpl继承过来了。在vc2005中默认的是这样继承的:

#ifdef _WIN32_WCE // 要在 Windows CE 上正确加载该控件,要求 IObjectSafety
    public IObjectSafetyImpl<CPushMode, INTERFACESAFE_FOR_UNTRUSTED_CALLER>,
#endif

看到没,竟然在windows CE上才这样继承。省事的方法,把#ifdef _WIN32_WCE去掉

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值