昨天在写code的时候,有一段是这样的:
希望在窗体打开后能够在标题后面加上"- Edit record"。谁知运行的时候没有达到想要我效果,但是程序没有报错,一切都运行正常。百思不得其解,便试着改写一下:form->Caption = form->Caption + "- Edit record"。运行,OK!
那就奇怪了,一般的AnsiString变量用+=是没有问题的,为什么却在TForm::Caption这里失效呢。打开帮助,查一下AnsiString的+=的说明:
一看才知道,原来人家已经告诉我们,+=()是不支持带有Getter/Setter函数的属性。那再看看TForm::Caption属性:

呵呵,Caption属性真的是带有Getter和Setter函数的,那就符合了+=()所说的不支持的地方了。大家以后遇到同样的情况,可不要再怪BCB是“有毛病”的,毕竟帮助里面已经写清楚了。另外,在此也引出一点,当出现问题之后,大家可以先去读读帮助,看看有没有一些细节是忽略了。
本文探讨了在使用BCB编程时遇到的关于窗体Caption属性拼接的问题。作者通过实验发现直接使用+=操作符无法实现预期的效果,并最终找到了正确的解决方案。
4666

被折叠的 条评论
为什么被折叠?



