关于VC7 ATL ActiveX控件的属性化选项的Bug
2005-07-16 07:51
288 查看
用VS2003做ATL ActiveX开发,遇到以下问题。
步骤:
1、利用VC7的“ATL 项目”向导建立的ActiveX工程,(注意:“属性化”选项默认是选中的,保持不变)
2、在工程中添加“ATL 控件”
3、给已添加的ATL 控件添加一个BSTR类型的属性
4、编译控件
5、Debug控件,在调用控件的BSTR属性时出错,跟踪后错误断点出现在atlcom.h文件的
//If InternalAddRef or InternalRelease is undefined then your class
//doesn't derive from CComObjectRoot
STDMETHOD_(ULONG, AddRef)() {return InternalAddRef();}
STDMETHOD_(ULONG, Release)()
{
ULONG l = InternalRelease();
if (l == 0)
delete this;
return l;
}
方法处。
解决办法:
用“ATL 项目”向导建立ActiveX工程时,去掉工程的“属性化”选项即可。这应该是VC7的Bug
步骤:
1、利用VC7的“ATL 项目”向导建立的ActiveX工程,(注意:“属性化”选项默认是选中的,保持不变)
2、在工程中添加“ATL 控件”
3、给已添加的ATL 控件添加一个BSTR类型的属性
4、编译控件
5、Debug控件,在调用控件的BSTR属性时出错,跟踪后错误断点出现在atlcom.h文件的
//If InternalAddRef or InternalRelease is undefined then your class
//doesn't derive from CComObjectRoot
STDMETHOD_(ULONG, AddRef)() {return InternalAddRef();}
STDMETHOD_(ULONG, Release)()
{
ULONG l = InternalRelease();
if (l == 0)
delete this;
return l;
}
方法处。
解决办法:
用“ATL 项目”向导建立ActiveX工程时,去掉工程的“属性化”选项即可。这应该是VC7的Bug
相关文章推荐
- 菜鸟vc问题,关于对话框用图片做背景的bug问题
- 很久以前发现的 vc2008 的一个bug(关于模板匹配)
- 关于ATL时间日期类COleDateTime和CString(VC)
- 关于VC Linker的/INCREMENTAL链接选项
- VC9中ATL的atlconv.h中A2W_CP和W2A_CP的Bug
- 很久以前发现的 vc2008 的一个bug(关于模板匹配)
- VC 关于调试和多线程的编译选项
- 使用VC2008创建基于ATL的ActiveX控件,不自动调用OnCreate函数
- 关于Vc编译选项
- 关于前面提到的 vc bug 有误
- 关于VC60中创建MFC工程时, 使用了UNICODE选项后编译报错的解决方法
- 关于VC Linker的/INCREMENTAL链接选项(转)
- VC9中ATL的atlconv.h中A2W_CP和W2A_CP的Bug
- VC 关于调试和多线程的编译选项
- VC 关于调试和多线程的编译选项
- 关于Vc编译选项
- 基于VC++中ATL创建ActiveX控件的探讨
- 关于对于VC/MFC/ATL的评论问题
- 关于Vc编译选项
- VC系列---基于VC++中ATL创建ActiveX控件的探讨