昨天在写code的时候,有一段是这样的:
希望在窗体打开后能够在标题后面加上"- Edit record"。谁知运行的时候没有达到想要我效果,但是程序没有报错,一切都运行正常。百思不得其解,便试着改写一下:form->Caption = form->Caption + "- Edit record"。运行,OK!
那就奇怪了,一般的AnsiString变量用+=是没有问题的,为什么却在TForm::Caption这里失效呢。打开帮助,查一下AnsiString的+=的说明:
一看才知道,原来人家已经告诉我们,+=()是不支持带有Getter/Setter函数的属性。那再看看TForm::Caption属性:
呵呵,Caption属性真的是带有Getter和Setter函数的,那就符合了+=()所说的不支持的地方了。大家以后遇到同样的情况,可不要再怪BCB是“有毛病”的,毕竟帮助里面已经写清楚了。另外,在此也引出一点,当出现问题之后,大家可以先去读读帮助,看看有没有一些细节是忽略了。