ActiveX技术彻底研究
品雪 pinxue@hotmail.com
http://pinxue.yeah.net
解题:有位朋友对我说,如果有人在你的团队中建议使用某种技术,那么一定要他把这种技术研究透,要到API层才算透,然后给团队写一份讲稿讲解这种技术,这样子才可以放心引入这种技术,否则是很冒险的。我觉颇以为然。一向以来对M$的ActiveX技术印象都不是很好,但这两天忽然想试试ActiveForm了,于是就有了这篇彻底研究。当然本文只是个人的彻底研究而矣,没有深挖到API内部的兴趣,或许哪天有了兴趣再搞一个深入内幕研究好了,不过那可能会是久远以后的事了,也许那会儿M$已经公开它的源码了吧。本文主要参考资料是MSDN。显然市面上已经有很多很好的同主题书籍了,建议你还是去看那些书学习比较好,俺这个主要还是给自己写的,做个浏览或参考或可胜任。
摘要:ActiveX是基于COM的一种对象重用技术,ActiveX导出对象及类工厂,ActiveX控制器及客户可以象使用自定义对象一样,ActiveX对象的功能与结构除了看使用说明书外还可以从相应的TypeLib中获取。
制作自动化控制器
制作并导出ActiveX对象需要做以下事情:
初始化要导出的对象
实现要导出的对象
导出对象
在应用程序结束时释放OLE
要让其他人可以利用活动对象
使用ActiveX对象
重要函数列表
COM库:CoInitialize{Ex}、CoUnitialize、CoCreateInstance
OLE系统:OleInitialize、OleUnitialize
类对象(类工厂):RegisterClassObject、RevokeClassObject、GetClassObject
Active对象:RegisterActiveObject、RevokeActiveObject、GetActiveObject