我正在研究发现警告的项目W1000 Symbol 'StrLComp' is deprecated: 'Moved to the AnsiStrings unit'
对于System.SysUtils
中定义的许多字符串函数,我的代码中有这么多警告。
我无法使用AnsiStrings
函数,因为它会多次出现。
谁能告诉我如何删除这些类型的警告?
我正在开发Delphi 10 Seattle。
最佳答案
正如警告所指示的那样,使用System.AnsiStrings
单元可以很容易地处理这些警告。使用该单元,在System.SysUtils
子句中的uses
后面列出该单元,将不再产生警告。
如果同时包含System.SysUtils
和System.AnsiStrings
,则在使用Ansi字符串作为输入调用此函数时,将遇到模棱两可的重载错误。这需要通过限定函数名称来解决:
System.AnsiStrings.StrLComp(...)
要么
AnsiStrings.StrLComp(...)
取决于是否使用名称空间别名。
在走这条路之前,您可能需要退后一步,考虑是否真的要继续调用此ANSI函数。您不能使用Unicode版本吗?如果可以,整个问题将消失。