開発ブログ - TStringHelper.Chars でエラーが起きたら
ソースコードをモバイルコンパイラに対応しようとして s[1] を s.Chars[0] という具合に書き換えていたときのことです。
下記のようなコンパイルエラーが発生しました。
これは何でしょう?
[dcc32 エラー] xxxxx.pas(56): E2018 レコード,オブジェクトまたはクラスのいずれかが必要です
一瞬何が起きたのかよくわかりませんでしたが、よく考えてみれば簡単なことでした。
.Chars[] 構文は TStringHelper によって実現されており、TStringHelper は System.SysUtils で定義されています。
つまり、System.SysUtils を Uses していなかったからこのエラーが出てしまったという訳でした。