我自己用mfc写的一个类,想封装成com组件,不知道可行不?

时间:2022-08-24 23:17:04
我自己用mfc写的一个类,想封装成com组件。
我用mfc开发com的方法还不太会,用atl的方法开发com的话,不知道我的基于mfc的类还能不能用。主要是把类里面的一些成员函数改成接口函数,类做出com对象。不知道用atl能不能做?

10 个解决方案

#1


mfc中能添加atl支持,其实只要添加atl的包含头文件就能用了,但是做COM组件最好直接使用MFC(因为你的现有代码本身就是MFC做的),相对比较简单一些,向导就能完成。

#2


楼上的,我不会用mfc开发com呀,在用向导生成一个dll工程后,我不知道用向导怎么添加一个接口,,,,后面还有一些手工添加的代码不知道怎么写

#3


http://msdn2.microsoft.com/de-de/library/5hhehwba(VS.80).aspx

#4




对于你的这个类,你要看看有没有封装成COM的价值.
要知道,COM不同于普通DLL.

#5


当然有价值我才想封装起来。
不知道麻烦不麻烦

#6


我说的价值,是从以下两方面来衡量的:
1.你把这个类封装成COM的开销.
2.封装成功以后,使用的方便性.
因为有的时候,先进的技术,对应的却未必是最好的解决方案.

不过话说回来,真是有价值,还在乎什么麻烦不麻烦?
至于实现方式,就看你自己的取舍了,我个人觉得ATL比较好.在创建ATL工程时,选择支持MFC,可以使得你原来使用MFC库的地方依旧可用.
不过若是完全放开MFC,而只使用ATL进行开发,可能扩展性更好一些.

#7


引用 6 楼 sjdev 的回复:
至于实现方式,就看你自己的取舍了,我个人觉得ATL比较好.在创建ATL工程时,选择支持MFC,可以使得你原来使用MFC库的地方依旧可用. 
不过若是完全放开MFC,而只使用ATL进行开发,可能扩展性更好一些.


我现在就是用atl支持mfc做的,快实现了。不过我不理解,为什么完全方可mfc,扩展性更好是怎么回事?
难道使用了mfc就有了限制了吗,这不是和com的语言无关性相违背吗?

#8


atl小巧轻便,在不需要MFC仍然可用.

#9


我可不管大小,能用,好用就行了。
我想知道atl中使用了mfc,究竟有没有什么不良后果?为什么你说不使用mfc扩展性会更好呢?

#10


好像没那么简单,呵呵.

#1


mfc中能添加atl支持,其实只要添加atl的包含头文件就能用了,但是做COM组件最好直接使用MFC(因为你的现有代码本身就是MFC做的),相对比较简单一些,向导就能完成。

#2


楼上的,我不会用mfc开发com呀,在用向导生成一个dll工程后,我不知道用向导怎么添加一个接口,,,,后面还有一些手工添加的代码不知道怎么写

#3


http://msdn2.microsoft.com/de-de/library/5hhehwba(VS.80).aspx

#4




对于你的这个类,你要看看有没有封装成COM的价值.
要知道,COM不同于普通DLL.

#5


当然有价值我才想封装起来。
不知道麻烦不麻烦

#6


我说的价值,是从以下两方面来衡量的:
1.你把这个类封装成COM的开销.
2.封装成功以后,使用的方便性.
因为有的时候,先进的技术,对应的却未必是最好的解决方案.

不过话说回来,真是有价值,还在乎什么麻烦不麻烦?
至于实现方式,就看你自己的取舍了,我个人觉得ATL比较好.在创建ATL工程时,选择支持MFC,可以使得你原来使用MFC库的地方依旧可用.
不过若是完全放开MFC,而只使用ATL进行开发,可能扩展性更好一些.

#7


引用 6 楼 sjdev 的回复:
至于实现方式,就看你自己的取舍了,我个人觉得ATL比较好.在创建ATL工程时,选择支持MFC,可以使得你原来使用MFC库的地方依旧可用. 
不过若是完全放开MFC,而只使用ATL进行开发,可能扩展性更好一些.


我现在就是用atl支持mfc做的,快实现了。不过我不理解,为什么完全方可mfc,扩展性更好是怎么回事?
难道使用了mfc就有了限制了吗,这不是和com的语言无关性相违背吗?

#8


atl小巧轻便,在不需要MFC仍然可用.

#9


我可不管大小,能用,好用就行了。
我想知道atl中使用了mfc,究竟有没有什么不良后果?为什么你说不使用mfc扩展性会更好呢?

#10


好像没那么简单,呵呵.