我使用ATL向导建立了一个COM程序的框架。(没有添加任何代码)运行生成了MyATL.dll然后我用: regsvr32 c:\MyATL.dll (提示:...注册成功)但是我在一个调用程序MyATL_Test.exe中:添加工程-->Component and Contrals...--->中怎么看不到这个MyATL.dll控件?什么原因呢?请帮帮忙啊!!

解决方案 »

  1.   

    你根本就没有加接口对象怎么可能有呢?你用使用ATL向导建立了一个COM程序的框架后这里面没有什么内容!你要通过atl向导在项目中添加一个Atl控件,编译后你的dll才会在Component and Contrals...--->中怎么看到!!!
      

  2.   

    哦,对了,我是添加了ATL对象的。
    就是:“插入---->新建ATL对象”
      

  3.   

    那就没有问题!你仔细找找!如果你的添加了ATL对象的名字为X的话!在Component and Contrals...--->中找CX,肯定有的!
      

  4.   

    不会有的,不是ActiveX控件,只是个COM,当然不行
      

  5.   

    或者怎样才能使用这个MyATL.dll?
      

  6.   

    从project//import type libraryk可以找到的
      

  7.   

    如果光是ATL生成的dll文件的话,就算用regsvr32来注册也不一定会出现在Component and Contrals里面,这个里面好像基本都是ActiveX控件。个人意见。
      

  8.   

    如果你用ATL生成的是dll,如果是自定义接口,就在客户端添加.h和_i.c文件。
    使用CoCreateInstance来调用。如果是自动化接口,如果用.tlb 使用import 导入。
    至于你说的这个ATL我看基本就是个dll。当然在Component and Contrals里面找不到了。在CandC里面是看ocx的。你可以在vc的tools里面的OLE/COM VIEW里面来看到你注册的组件。(当然,在成功注册的前提下)