ATL7 + WTL7 编程,谁做过?请教2个问题 :)

nbb01 2002-08-01 11:55:29
最近想做一个嵌入IE的ActiveX,开发环境为Visual Studio.Net,遇到编译问题总解决不了:

1.先期测试,用向导生成了一个简单的ATL项目框架,因为想用(也必须得用)WTL7中的一些类,因此在stdafx.h中include <atlapp.h>,然后,代码中用到WTL的那个类(如CEdit、CPen、CDC等),我就include相应的.h文件,可是这样做后,总是编译无法通过,奇怪的是,错误指出未定义的符号都是ATL中的定义,而非WTL的。
请问ATL7是否可以和WTL7混合编程呢?看WTL的资料,应该是可以的啊。错误指出的未定义符号,向导都include进相应的ATL的.h了呀,还应该再做什么呢?

2. WTL的资料太少了,有什么网站、讨论组,或书籍可以参考?

...全文
3 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bighead 2002-08-03
你不用CString 把atlmisc.h踢掉就没影响了吧.
回复
cpufall 2002-08-02
我不知Visual Studio.Net如何,但在VC6中开发ATL方式的ActiveX时可以使用MFC(如CEdit、CPen、CDC等),只要在创建时,选中支持MFC即可。在www.codeguru.com上有些关于ATL的东东,很有帮助,但是是很早的论坛
回复
bighead 2002-08-02
ATL6 wtl3.1肯定可以,新版的不知道.
回复
nbb01 2002-08-02
longaway() 说的对,终于找到毛病了:
#include <atlapp.h>以及其它WTL的include,必须放在stdafx.h的最后,
即必须在其中的using namespace ATL; 之后。

现在剩下的问题是,编译时WTL的atlmisc.h中,CString类成员函数中,
有用到 _Module. 全程变量,而向导生成的是_AtlModule,将其替换,
仍然不行。不过,我记得好象有个宏,可以排除不用WTL中的CString,
估计问题不大了。如果正常,晚上结帐,谢谢。

回复
longaway 2002-08-02
是不是,include 的次序关系。
毕竟 atl first ?
回复
longaway 2002-08-02
wtl 不是基于 atl 的嘛?
还有问题?
是不是因为版本匹配的关系?
回复
nbb01 2002-08-02
应该不难啊,真的没有人做过吗?up!
回复
nbb01 2002-08-02
cpufall(cpufall) :
同志,就是为了甩掉MFC,才用ATL + WTL 啊,ATL + MFC 我也会啊:)
回复
发帖
ATL
创建于2007-09-28

3214

社区成员

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
申请成为版主
帖子事件
创建了帖子
2002-08-01 11:55
社区公告
暂无公告