我用 XP+VS2005 做了两个练习性质的 COM (使用ATL)第一个COM中有两个接口和两个相应的CoClass,在客户端调用CoCreateInstance,成功获得了第一个接口指针,但是不能获得第二个,返回错误是“没有注册类别”。用OleView查看,所有的注册信息都是正确的。使用Regsvr32重新注册后,问题解决。第二个COM也中有一个接口,和共用这同一个接口的两个CoClass,在IDL文件中import了第一个COM的IDL文件。在客户端调用,返回错误是“没有注册类别”,但是这一次使用Regsvr32重新注册后问题依然存在:返回错误是“没有注册类别”。但是用OleView查看,第二个COM所有的注册信息也都是正确的。在调试时,VS2005的所有窗口都变成浮动的了,然后发现编译时VS2005不会自动注册COM了,初学很多东西原理都不清楚,于是干脆修复安装了VS2005,但是依然不能自动注册组件。使用Regsvr32注册,问题依旧。
恳请诸位大哥帮忙解决,十分感谢!!