有时 Delphi 似乎区分大小写 - “覆盖方法应该与祖先的大小写匹配”

问题描述 投票:0回答:1

今天我遇到了一个‘奇怪’的提示:

覆盖方法 xxxx 应匹配祖先 yyyy 的大小写。

解决方案是完全按照祖先中的方式声明方法名称......我相信这是自 Delphi.Net 编译器以来编译器中保留的东西......

完全按照祖先中的方式声明方法使编译器“沉默”。 Delphi 2006 及更高版本中还有其他“区分大小写”的提示/警告吗?

delphi delphi-2006
1个回答
15
投票

这是在与第三方代码合作时保护您的代码的提示。
此提示是在添加 Delphi for .net 时引入的,因为其他一些 .net 平台区分大小写。

请注意,该提示并不意味着 Delphi 对大小写敏感。
只有下面的第 1 点是 Delphi 本身区分大小写的,第 2 点是 Delphi 编译器在 Windows API 中调用区分大小写的函数

GetProcAddress()
的方式的产物。

Delphi 中区分大小写的行为

1-注册组件
我不知道任何其他区分大小写的提示,但请注意,当您编写自己的组件并且想要注册它们时,您声明的注册函数必须像这样编写: procedure Register; <<-- Leading capital required.

如果您不这样做,Delphi 将不会添加您的新组件。

2-导入外部函数

正如 David 所说,导入外部函数时,必须保留 DLL 中使用的确切大小写。

无法禁用个别提示

请注意,您无法禁用特定的提示:可以禁用特定的 Delphi 提示吗?

© www.soinside.com 2019 - 2024. All rights reserved.