VC Com编程笔记 [2004年7月5日 14:58]

原创 2004年07月11日 04:01:00

这几天一直在考虑接下来应该学什么呢?

犹豫来犹豫去,什么都想学,总想做个比较大一点的东西,本来想给自己做个网站,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 m_vector是CComVariant的列表,怎么才能正确删除m_vector中有IA:a=a的节点呢?现在关键是有了IA *pA;想取得他的a值,用pA->a出错,说a不是pA得成员,怎么回事。难道还得转成Com对象,具体怎么做呢

2017年7月-学习笔记

本学习笔记主要记录了我对tcp/ip卷1这本书的学习心得,主要看的电子版的数目,本文中图片如无特别说明,均来自,[张防涛-简书]当中tcp/ip详解的文章。作者:张芳涛 链接:http://www....
  • Kang_TJU
  • Kang_TJU
  • 2017-07-17 10:29:35
  • 659

2004年7月19日

专栏- 15100 文章- 31251 收藏- 1731 评论- 8372 Track- 150
  • grhunter
  • grhunter
  • 2004-07-19 16:23:00
  • 1822

公元2004年7月4日

昨天热带风暴“蒲公英”登陆浙江,带来了一场豪雨。今天天气转晴,碧空万里无云。 今天是普通日子中的一个,平淡地没有再平淡。 昨天睡得很迟,昨天起得很早,今天却躺在床上发梦。 梦见以前的朋友,梦见他,梦见...
  • asign
  • asign
  • 2004-07-04 21:40:00
  • 998

2004年7月5日

专栏- 11918 文章- 26625 收藏- 847 评论- 4662 Track- 105
  • grhunter
  • grhunter
  • 2004-07-05 15:56:00
  • 1255

1582年10月5日是个很奇怪的日子

import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public cla...
  • sunxing007
  • sunxing007
  • 2010-06-17 13:40:00
  • 3509

2018年2月5日训练笔记

昨天牛客网上题目有3个没做出来其中2个是计算几何,还有一个斯特林公式和换底公式,斯特林公式之前见过的,只不过比赛时彻底忘了,这个高中时的换底公式更是没了印象,其他题目都是数学中典型的题目。专题的题目眼...
  • sdau20163942
  • sdau20163942
  • 2018-02-05 21:30:32
  • 36

2004年9月23日

blog开通了,庆贺一下。
  • summer_cheung
  • summer_cheung
  • 2004-09-23 14:44:00
  • 274

2017年8月读书笔记

8月匆匆走过,凉爽的秋风逐渐撵走了夏日的炎热。每月读书,在炎热而又浮躁的8月,用书来慰藉自己。这个月读了2本书,有触动心灵的《摆渡人》,有伟人的成长历程《成为乔布斯》。...
  • ping_hu
  • ping_hu
  • 2017-08-30 23:22:08
  • 361

清明上河图邮票多少钱

清明上河图邮票多少钱   2004年,中国邮政首次发行了《清明上河图》邮票,全套9枚,首尾相连,用邮票的形式再现了国宝文物《清明上河图》。清明上河图邮票被誉为众多作品中最为传神和精美的传世邮票,在第...
  • socangtx96567
  • socangtx96567
  • 2014-05-19 10:16:09
  • 427
收藏助手
不良信息举报
您举报文章:VC Com编程笔记 [2004年7月5日 14:58]
举报原因:
原因补充:

(最多只允许输入30个字)