一般的com用例书上,只给出了利用MFC的嵌套类编写进程内的com组件程序,对于进程外的com组件程序很少提及.
就连潘爱民先生的<<com原理及应用>>所举的例子中也是以简单的工作台程序一笔带过,为了使这部分明确话,在此对
利用MFC的嵌套类编写进程外com做一个总结:
一.代理DLL的编写:
.1.利用向导生成一个空的MFC dll 项目,然后按照IDL的规则,编写接口定义文件(XXX.idl).
2.利用MIDL编译XXX.idl生成相应的代理文件并将所产生的文件一一加入到DLL项目中.
3.在编译时加入REGISTER_PROXY_DLL宏.
二.进程外组件程序的编写
. 1.利用VC 6.0 的MFC APPWizard exe 生成一个对话框程序.(选中允许自动化).
2.把APP类的InitInstace中关于Dialog的内容去掉,并且将函数返回值置为True.
3.编写接口文件的头文件加入到项目中.
4.按照mfc编写嵌套类的方法定义接口类的实现.
5.在对象的构建函数和析构函数中分别加上(AfxOleLockApp和AfxOleUnlockApp).
这两个函数很重要,以便com能及时使组件程序退出.
三.客户程序的编写:
按照一般的客户程序写法就行.