河北省中级职称证书:求C++BUILDER6.0 的BUG?

来源:百度文库 编辑:神马品牌网 时间:2024/05/04 12:39:46
非BUG之答案不要掺和

1.按照BCB帮助文件,要拦截消息是使用
{
protected:
void __fastcall WMPaint(TWMPaint* Message);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_PAINT, TWMPaint, WMPaint)
END_MESSAGE_MAP(TComponent)
};
先进行消息的声明
但是在FORM中加入后,BEGIN_MASSAGE_MAP那行编译时会出现一个小Warning,大概意思是含switch的函数语句不能内联,不过不影响运行,算是一个小BUG。
解决方法:用#pragma option -vi-暂时关闭编译时函数内联

2.Caption虽为AnsiString型,但好像对 += 运算符不支持
例如有一个AnsiString型的buf变量
AnsiString buf = "GO";
buf += "1"; //则buf的内容变为"GO1"
但是对控件的Caption属性使用+=运算的话,无任何变化
Form1->Caption += "NoChange";//原来Caption为"Form1"的话,依然为"Form1"
如果将 += 展开则可正常改变
Form1->Caption = Form1->Caption + "Change";

3.在编辑器某些地方输完 -> 要出自动完成提示的时候,有时BCB会当掉,这个可能是个人机器的原因。

我的BCB版本为6.0(build 10.166)