W1000符号'StrLComp'已弃用:'已移至AnsiStrings单元'

A B*_*A B 1 delphi

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

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

我的代码中有很多警告,用于定义中的许多字符串函数System.SysUtils.

我无法使用这些AnsiStrings功能,因为它会多次出现.

任何人都可以告诉我如何删除这些类型的警告?

我正在研究Delphi 10 Seattle.

Dav*_*nan 5

System.AnsiStrings正如警告指示您一样,使用该装置可以很容易地处理这些警告.使用该单位,System.SysUtils在您的uses子句中列出后,将不再生成警告.

如果包含两者System.SysUtils,System.AnsiStrings那么当使用Ansi字符串作为输入调用此函数时,您将遇到模糊的重载错误.这需要通过限定函数名来解决:

System.AnsiStrings.StrLComp(...)
Run Code Online (Sandbox Code Playgroud)

要么

AnsiStrings.StrLComp(...)
Run Code Online (Sandbox Code Playgroud)

取决于您是否使用命名空间别名.

在您沿着这条路走下去之前,您可能想退一步考虑是否真的想继续调用此ANSI函数.你不能使用Unicode版本吗?如果你能这样做,整个问题就会消失.