以前我继承CAsyncSocket 写了一个类 CMyClass
但在新建的ATL项目中我无法使用我自己写的这个类
我的ATL项目已经加入了对MFC的支持但是,当我把CMyClass加到我的ATL项目的时候
提示:
error C2504: “CAsyncSocket” : 未定义基类
我因此我把 #include <afxsock.h> 添加到ATL的stdafx.h中
编译还是无法通过
提示:
error :  WINDOWS.H already included.  MFC apps must not #include <windows.h>
我不可能去修改 afxsock.h 吧如果是这样的话那不是说ATL中都无法使用自己以前继承MFC写的类了?
高手给个解决方案吧。谢谢

解决方案 »

  1.   

    最好在新建ATL Project时加上MFC的支持。或者新建一个支持MFC的ATL项目,比较一下差异,特别是stdafx.h
      

  2.   

    我本身创建ATL功能的时候已经增加了对MFC的支持
    难道到家用ATL写com的时候都没用过自己派生的类吗?
    而有些的虚方法是一定要自己重载以后重新控制逻辑的(例如CAsyncSocket)
    谁做过?
      

  3.   

    不好意思的问怎样在MFC项目中支持ATL
    谢谢!
      

  4.   

    我是在建立ATL项目中增加了MFC的支持,不是倒过来。
    MFC本身也可以用来开发com阿黑你想法错拉。
    神仙们帮帮忙吧
      

  5.   

    检查一下是否有头文件包含或间接包含了windows.h。在MFC中加入ATL的支持,比较容易。只要你向项目中加入ATL object时,就会提问是否加入ATL支持。选择Yes就可以了。