描述:
由于项目要求,需要将一些类(VC)封装成ActiveX控件
对于类中的成员变量,映射成控件中的属性,
而类中的成员函数则对应于控件的操作
(不知这样的封装方法对不对,还请指教)
现在遇到这样的问题,类中定义的成员变量,又很多在定义控件属性的时候,找不到对应的数据类型,比如(int,unsigned char*等),还有一些类型是用户自定义的,比如结构体,类等,就更找不到相应的控件属性的数据类型与之对应了,请问该怎么解决?
还有就是有关AcitveX及Com入门和进阶学习,本人有一定的VC编程基础,不知道各位对学习AcitveX及Com有何建议和心得,敬请指教
有什么有关书籍,也情各位大侠推荐推荐
解决方案1:
推荐一本书《Visual C++6.0 实践与提高——ActiveX篇》,上面解答
对于基本数据类型,可以通过ConvertBSTRToString之类的函数转换
在头文件comutil.h中
在接口定义中只能使用几种数据类型如:int, long,BSTR,void和指针类型等标准东西。。。
解决方案3:结构体,类等一般封装成COM对象,通过暴露属性和方法的方式供外部访问。
解决方案4: 还有就是有关AcitveX及Com入门和进阶学习,本人有一定的VC编程基础,不知道各位对学习AcitveX及Com有何建议和心得,敬请指教
有什么有关书籍,也情各位大侠推荐推荐
=======================================
《COM技术内幕》
《COM原理和应用》
《COM本质论》
《IDL精髓》
《深入解析ATL》
《COM精彩编程实例》
现在遇到这样的问题,类中定义的成员变量,又很多在定义控件属性的时候,找不到对应的数据类型,比如(int,unsigned char*等),还有一些类型是用户自定义的,比如结构体,类等,就更找不到相应的控件属性的数据类型与之对应了,请问该怎么解决?
=============================================
ActiveX中的数据类型一般是不能改变大小,即于平台无关性,int是和OS相关的它的长度随着OS不同而不同,最好使用long。其他的你可以参考MSDN!
由于项目要求,需要将一些类(VC)封装成ActiveX控件
对于类中的成员变量,映射成控件中的属性,
而类中的成员函数则对应于控件的操作
(不知这样的封装方法对不对,还请指教)
==============================
理论上就是这样的,呵呵