2017-03-15 1 views
1

は私が多くのための私のコードで非常に多くの警告がありますW1000シンボル「StrLComp」廃止されました:「のAnsiStringユニットに移動」

​​

として警告を発見したプロジェクトに取り組んでいますSystem.SysUtilsで定義された文字列関数

AnsiStrings関数は複数回発生するため使用できません。

誰でも教えてくださいどのようにこれらのタイプの警告を削除できますか?

私はDelphi 10 Seattleに取り組んでいます。

答えて

5

これらの警告は、警告が指示するのと同じように、System.AnsiStringsユニットを使用して簡単に処理されます。あなたのuses句にSystem.SysUtilsの後にそれをリストアップしたこのユニットを使用すると、警告は生成されなくなります。

System.SysUtilsSystem.AnsiStringsの両方を含めると、Ansi文字列を入力としてこの関数を呼び出すとあいまいなオーバーロードエラーが発生します。あなたが名前空間のエイリアスを使用するか否かに応じて、

System.AnsiStrings.StrLComp(...) 

または

AnsiStrings.StrLComp(...) 

:それは、関数名を修飾することによって解決される必要があります。

このパスを下る前に、一歩踏み込んで、この電話を引き続き呼びたい場合は、ANSIの機能を使用してください。代わりにUnicodeバージョンを使用できませんか?そうすることができれば、この問題はすべて消えます。

関連する問題