COM 本身就可以通过DLL实现,不过我想我还是提倡COM的思想,DLL的做法
不怕人说我土
但是事实上,如果能用DLL定制COM,一则程序并不依赖于windows运行(如果你做的是web版本另当别论),二则对于提高建模能力有很好的效果,三则在速度上有本质的飞跃,四则接口非常灵活多变,版本兼容如履平地,当然你可能会损失远程激活等COM高级版本所特有的功能,但总体来将我认为还是非常不错的。

解决方案 »

  1.   


    我要做一个东西,为什么我不做成一般的DLL,而要做成COM呢???
      

  2.   

    谁能更清楚地跟我说说这个问题吗???
    don box啊!看com本质论
      

  3.   

    我的理解:
    1。COM的DLL为二进制代码级别的,普通的DLL不是。
    2。使用COM的DLL可以用MFC,也可以用ATL实现,普通的DLL应用范围要窄一些。
    3。从运行的方式来讲,COM支持前绑定和后绑定,应用上比较灵活。扯远了
    从工程的可维护性和扩展性而言,选择COM的DLL无疑是正确的
      

  4.   

    1.DLL也是二进制级,但是针对C接口而写的,它们只能被C或理解C调用规范的语言使用。
    2.MFC扩展DLL也可以用mfc;
    不同:
    COM明确指出二进制模块(DLLs和EXEs)必须被编译成与指定的标准结构匹配
      

  5.   

    据我所知,COM只是实现了一些定义好的接口。可是我做DLL时,是否实现了接口,VC在编译时能判断吗?VC是根据什么来判断这个DLL是COM还是一般的DLL的?VC又是根据什么来决定将DLL编译成二进制模块的COM,又根据什么来判断是一般的DLL,而不要编译成二进制模块?我对这些都不知道,请高手们给我讲讲。
      

  6.   

    COM的Dll导出几个函数,一般的Dll没有,
    COM的几个导出函数就是提供别人注册调用的。