今天我遇到了一个‘奇怪’的提示:
覆盖方法 xxxx 应匹配祖先 yyyy 的大小写。
解决方案是完全按照祖先中的方式声明方法名称......我相信这是自 Delphi.Net 编译器以来编译器中保留的东西......
完全按照祖先中的方式声明方法使编译器“沉默”。 Delphi 2006 及更高版本中还有其他“区分大小写”的提示/警告吗?
这是在与第三方代码合作时保护您的代码的提示。
此提示是在添加 Delphi for .net 时引入的,因为其他一些 .net 平台区分大小写。
请注意,该提示并不意味着 Delphi 对大小写敏感。
只有下面的第 1 点是 Delphi 本身区分大小写的,第 2 点是 Delphi 编译器在 Windows API 中调用区分大小写的函数
GetProcAddress()
的方式的产物。
Delphi 中区分大小写的行为
1-注册组件
我不知道任何其他区分大小写的提示,但请注意,当您编写自己的组件并且想要注册它们时,您声明的注册函数必须像这样编写:
procedure Register; <<-- Leading capital required.
如果您不这样做,Delphi 将不会添加您的新组件。2-导入外部函数
正如 David 所说,导入外部函数时,必须保留 DLL 中使用的确切大小写。
无法禁用个别提示