本帖最后由 VisualEleven 于 2014-04-28 14:35:48 编辑

解决方案 »

  1.   

    如果在atl的工程中添加 mfc类的话,添加的方法只能在工程内部访问类对象的方法,这个方法并不是 实现类(coclass)的接口方法,要从外部访问的话,就需要对接口添加方法才可以
      

  2.   

    本帖最后由 VisualEleven 于 2014-04-28 14:34:43 编辑
      

  3.   

    就我看见的这个代码中Test定义没有问题,你生成文件是指哪个文件呢?用MFC开发COM和ATL开发不同,项目本身不必要生成头文件的。你其它项目添加类的时候直接从TypeLib里面选你自己开发的类型库相应接口就可以生成头文件
      

  4.   

    生成的文件指的是imdl生成.h文件。我提出的问题是查看这个.h文件,发现其定义的接口并没有我追加过的test()方法。Cw003333:你的意思是mfc开发com,不需要使用imdl生成.h文件,直接使用从TypeLib生成的包装类?
      

  5.   

    dispinterface接口,从MFC的Typelib类库就可以直接转出.h文件,而且可以根据每个接口分别生成接口类的头文件
    如果是自定义接口的话,import进来组件的dll或exe文件,编译后会生成一个.tlh文件,这个就是整个组件的头文件,包含了所有接口对用户来说,你没有提供IDL文件,IDL文件信息编译到你最后的dll和exe文件中,你import进去,再编译,VS会导出到tlh文件中