AnsiString的“+=”符号问题

本文探讨了在使用BCB编程时遇到的关于窗体Caption属性拼接的问题。作者通过实验发现直接使用+=操作符无法实现预期的效果,并最终找到了正确的解决方案。

昨天在写code的时候,有一段是这样的:

希望在窗体打开后能够在标题后面加上"- Edit record"。谁知运行的时候没有达到想要我效果,但是程序没有报错,一切都运行正常。百思不得其解,便试着改写一下:form->Caption = form->Caption + "- Edit record"。运行,OK!

 

那就奇怪了,一般的AnsiString变量用+=是没有问题的,为什么却在TForm::Caption这里失效呢。打开帮助,查一下AnsiString的+=的说明:

一看才知道,原来人家已经告诉我们,+=()是不支持带有Getter/Setter函数的属性。那再看看TForm::Caption属性:

呵呵,Caption属性真的是带有Getter和Setter函数的,那就符合了+=()所说的不支持的地方了。大家以后遇到同样的情况,可不要再怪BCB是“有毛病”的,毕竟帮助里面已经写清楚了。另外,在此也引出一点,当出现问题之后,大家可以先去读读帮助,看看有没有一些细节是忽略了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值