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

时间:2017-03-15 08:50:29

标签: delphi

我正在处理我发现警告的项目

android:background="@drawable/border_bottom"

我的代码中有许多警告,用于W1000 Symbol 'StrLComp' is deprecated: 'Moved to the AnsiStrings unit'中定义的许多字符串函数。

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

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

我正在研究Delphi 10 Seattle。

1 个答案:

答案 0 :(得分:5)

使用System.AnsiStrings单位可以很容易地处理这些警告,就像警告指示您一样。使用该单位,在System.SysUtils子句中uses之后列出,并且不再生成警告。

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

System.AnsiStrings.StrLComp(...)

AnsiStrings.StrLComp(...)

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

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