今天我遇到了'奇怪的'提示:
覆盖方法xxxx应该与祖先yyyy的情况相匹配。
解决方案是在祖先中完全声明方法名称....我相信这是自Delphi.Net编译器以来在编译器中休息的内容......
完全按照祖先的方式声明方法使编译器“无声”。在Delphi 2006及其他版本中还有其他“区分大小写”的提示/警告?
答案 0 :(得分:14)
在与第三方代码合作时,这是一个保护代码的提示 这个提示是在为.net添加Delphi时引入的,因为其他一些.net平台区分大小写。
请注意,提示并不意味着对Delphi的任何区分大小写。
仅在下面的第1点中,Delphi本身区分大小写,第2点是Delphi编译器在Windows API中调用区分大小写的函数GetProcAddress()
的方式的工件。
Delphi中的区分大小写行为
1 - 注册组件
我不知道任何其他区分大小写的提示,但请注意,当您编写自己的组件并且想要注册它们时,您声明的注册函数必须如下所示:< / p>
procedure Register; <<-- Leading capital required.
如果您不这样做,Delphi将不会添加您的新组件。
2 - 导入外部功能
如David所述,在导入外部函数时,必须保留DLL中使用的确切大小写。
无法禁用个别提示
请注意,您无法禁用特定提示:Can specific Delphi hints be disabled?