最近在看潘爱民的《COM原理与应用》,读完第2章与第3章的实例:
在第2章中采用了一个简单的模拟办法:在组件程序中引出一个CreateObject函数,在客户中调用该引出函数以完成创建过程,一旦创建对象的任务完成,则客户就严格按照COM规范调用接口功能。
第3章是一个真正的COM组件程序,它以进程内组件的形式实现。新版的字典组件的功能并没有增强,但原来的模拟创建对象的函数被去掉了,增加了COM所要求的类厂对象以及几个标准引出函数的实现。
问题:虽然第2章是一种模拟实现,但我觉得它的这种实现方法更简单;第3章虽然是真正的COM组件程序,但我感觉好像故意把问题搞复杂化了一样,但它们实现的结果是一样的。在这里我想知道第3章的这种“故意把问题搞复杂”的道理,即第3章的方法相比于第2章的方法,到底它实现了COM的什么特性?
在第2章中采用了一个简单的模拟办法:在组件程序中引出一个CreateObject函数,在客户中调用该引出函数以完成创建过程,一旦创建对象的任务完成,则客户就严格按照COM规范调用接口功能。
第3章是一个真正的COM组件程序,它以进程内组件的形式实现。新版的字典组件的功能并没有增强,但原来的模拟创建对象的函数被去掉了,增加了COM所要求的类厂对象以及几个标准引出函数的实现。
问题:虽然第2章是一种模拟实现,但我觉得它的这种实现方法更简单;第3章虽然是真正的COM组件程序,但我感觉好像故意把问题搞复杂化了一样,但它们实现的结果是一样的。在这里我想知道第3章的这种“故意把问题搞复杂”的道理,即第3章的方法相比于第2章的方法,到底它实现了COM的什么特性?
解决方案 »
- 大家帮帮忙,关于遍历文件夹的问题
- VC中透明窗体中的动态图像能否截取
- socket连接对象的问题?(100分)
- ado访问mssql数据库内存问题——急
- 请教大家:如何让一个线程每隔10ms执行一次?
- 请问高手如何能简便的设置CListCtrl的行高?
- 如何在注册activex的时候读取一个文件,如果文件不存在,就不让注册
- 请教socket编程中使用多线程的问题,有简单代码,请高手赐教!
- 谁能准确的描述一下从窗口消息的产生到系统钩子链表的处理的整个流程?
- 怎样把一个工程中对话框加入到另外一个工程中云用??在线等待,急急急。。。
- CString * to CString &一个错误
- 遇到already defined in 键盘记录.obj 错误
COM技术很复杂的。没有简单的认识,想一头扎进去就能掌握它是不可能的。