VC中用向导“ATL COM AppWizard”建立一个COM。
Server Type选择DLL类型。1.什么情况下要选择“Allow merging of proxy/stub code”( 代理/存根)
2.在Insert中选择“NEW CLASS”Class type选择 “ATL Class”
   与New ATL OBJECT 中选择“Simple Class” 有没有不一样的地方?3.要建立一个COM。要在ASP中CreateObject。可不可以选择New ATL OBJECT 中的“Simple Class”,还是一定要“Active Server Component”?4.使用Apartment线程模型,各做Simple Class“与“Active Server Component”好像还是无法解决我的问题,就是多用户访问出错的问题。使用Apartment线程模型,要考虑哪些线程安全?

解决方案 »

  1.   

    1.什么时候都可以选,对你的工程并没有任何影响,以后如果想合并的时候在合并就是了
    2.我一直都用的New ATL Object中的选择,对于这个不是太清楚
    3.可以选择New ATL Object中的Simple Object
    4.当使用Apartment模型的时候,就决定了你的接口不支持Multithread访问(ATL将底层给你隐藏了),你可以改用Both看一下,如果还不行,那就要看一下你的ATL程序和你的客户端是怎么写的了
      

  2.   

    1.什么情况下要选择“Allow merging of proxy/stub code”( 代理/存根)
    系统提供了标准的proxy/stub dll,如果merging了,就会把这部分代码包含进你的dll中。各有优缺点,merging会使你的dll变大。
    2.simple object只包括最基本的接口实现,而其他的对象都实现了特定的接口。
    3。一般不需要。如果需要在object中操纵server端的session的服务器端对象的话,才用“Active Server Component”组件。