E2157 0 番めの要素は参照できません - Length または SetLength を使用してください (Delphi)

提供: RAD Studio
移動先: 案内検索

エラーと警告のメッセージ(Delphi) への移動

Delphi の string 型では要素 0 に文字列の長さは格納されていません。長い文字列では要素 0 にアクセスして文字列の長さを取得したり変更したりする古い方法は使用できません。


program Produce;

  var
    str : String;
    len : Integer;

begin
  str := 'Kojo no tsuki';
  len := str[0];
end.

{ このプログラムは文字列の第 1 要素に直接アクセスして文字列の長さを取得しようとしている。これは違法である }


program Solve;

  var
    str : String;
    len : Integer;

begin
  str := 'Kojo no tsuki';
  len := Length(str);
end.

{ 標準手続きの SetLength と Length を使用すれば文字列の第 1 要素に直接アクセスするのと同じ機能が得られる。$HINTS が ON の場合は,使用されない len の値に関するヒントが表示される }