VC Com编程笔记 [2004年7月5日 14:58]
来源:互联网 发布:c语言数据类型大小 编辑:程序博客网 时间:2024/05/16 06:09
这几天一直在考虑接下来应该学什么呢?
犹豫来犹豫去,什么都想学,总想做个比较大一点的东西,本来想给自己做个网站,JDK装了,Tomcat装了,JAVA知识不够,一切都需要从零开始。昨天晚上一个激灵,突然又想把在公司学到的一些零碎银行业务知识用Com组织起来,参加了公司的项目(公司用BCB),但是真正自己学到的东西却是不多,真正实现才能说自己学到了。更主要在实现的过程中,必然会遇到许多问题,解决问题,才是学习的最好方法。
已经有Com的一点点思想,真正的Com组件还没做过,动起手来还是挺麻烦。就从现在开始,把整个过程遇到的问题,在这里写出来:
1.从多接口派生对象,在派生列表中加上
public IDispatchImpl
假设两个接口ITemplCollection,IBankCollection都是从IDispatch派生出来,则需要在COM_MAP中,将COM_INTERFACE_ENTRY(IDispatch) 改成
COM_INTERFACE_ENTRY2(IDispatch/*父接口*/, ITemplCollection/*其中一个子接口*/)
这样做的目的是为了选定当查询IDispatch接口的时候的路径
2.怎么样生成一个不需要实现类的接口比较方便,直接写??那可要自己用GUID工具生成序列号。用VC插入ATL Object,然后删除cpp和h文件,编译出错,暂时还不知道怎么解决。好像是生成的接口,如果一定要从它派生的话,接口函数一定要实现,郁闷。
3.接口模板的问题,想做一个对大部分接口都有用的Collection接口,比如:
有一个IPersonCollection接口,里面的一个函数Add(IPerson *person) 如果做成模板,则所有的接口,什么IPerson,IAnimal都可以放进去
这个Add放到接口里面,自然在idl文件也需要体现出来
似乎需要用到模板类,在对象类中添加模板类还是容易点,可是如果要用一个Add(IXXX *pXXX)IXXX是任意的一个接口,在这个Add函数上面用模板该怎么用呢,主要是idl文件中该怎么写。想到一个方法是Add(IDispatch *pDisp),不过这样每次都要转换成IDispatch就显得比较麻烦了。
后注:找到一个Com模板的例子,看来和类模板还是有很大的区别,研究研究——ATL源代码:templateinterface_src
http://www.vckbase.com/code/listcode.asp?mclsid=17&sclsid=1703&page=7
4.在同一个组件中访问另外一个接口的数据
IA有属性int a,IB中有函数RemoveA(int a),并且有一个vector
- VC Com编程笔记 [2004年7月5日 14:58]
- 2013年1月14日VC++学习笔记
- VC++学习笔记(2009年7月26日 星期日)
- 笔记 2011年5月14日
- vc++学习笔记—11月14日
- 2013年1月10日VC++学习笔记
- 2013年1月11日VC++学习笔记
- 2013年1月23日VC++学习笔记
- 2013年1月24日VC++学习笔记
- 2013年2月20日VC++学习笔记
- 2013年2月21日VC++学习笔记
- 2013年2月22日VC++学习笔记
- 2013年2月25日VC++学习笔记
- 2013年3月19日VC++学习笔记
- 2010年05月11日 孙鑫VC++笔记(1) 第1~5讲
- 5月24日 – 6月11日 CUDA编程学习笔记
- 2015年7月22日笔记
- 2015年7月24日笔记
- JAVA LINUX FREEBSD [2004年6月4日 13:00]
- recordset->Release() or recordset.Release()?? [2004年6月18日 19:16 ]
- 闲话 工作任务[2004年6月24日 15:36]
- 数据库 相关 [2004年6月25日 9:09 ]
- 转贴 Oracle 和 mysql 的一些简单命令对比参照 [2004年6月25日 22:35]
- VC Com编程笔记 [2004年7月5日 14:58]
- 枚举数组中所有可能排列的代码实现 [2004年7月8日 1:57 ]
- 数据库选取第N到第N+M条记录[2004年7月10日 20:03]
- 终于读了<<了不起的盖茨比>>
- 湖海相望,等待所谓的奇迹.
- 在CSDN-BLOG文本编辑器中编写HTML和Javascript等问题
- XP中HTM/HTML文件图标无法正常显示的解决方法
- 阳光下的幽灵
- 我