我正在研究发现警告的项目

W1000 Symbol 'StrLComp' is deprecated: 'Moved to the AnsiStrings unit'

对于System.SysUtils中定义的许多字符串函数,我的代码中有这么多警告。

我无法使用AnsiStrings函数,因为它会多次出现。

谁能告诉我如何删除这些类型的警告?

我正在开发Delphi 10 Seattle。

最佳答案

正如警告所指示的那样,使用System.AnsiStrings单元可以很容易地处理这些警告。使用该单元,在System.SysUtils子句中的uses后面列出该单元,将不再产生警告。

如果同时包含System.SysUtilsSystem.AnsiStrings,则在使用Ansi字符串作为输入调用此函数时,将遇到模棱两可的重载错误。这需要通过限定函数名称来解决:

System.AnsiStrings.StrLComp(...)


要么

AnsiStrings.StrLComp(...)


取决于是否使用名称空间别名。

在走这条路之前,您可能需要退后一步,考虑是否真的要继续调用此ANSI函数。您不能使用Unicode版本吗?如果可以,整个问题将消失。

10-04 14:47