D7 などの古いバージョンの Delphi では、s が文字列の場合と同じようにできますがord(s[i])
、AnsiString でこれを試みると、例外 (アクセス違反) が発生します。
PS 私は長い間 Delphi 7 を使用していました。
エラーを再現する手順は次のとおりです。新しいプロジェクトを作成し、フォームのメモ (memo1 にします) を使用して、次のコードをフォーム作成イベント ハンドラーに追加します。
procedure TForm1.FormCreate(Sender: TObject);
var u: ansistring;
begin
u := 'stringtest';
memo1.Lines.Add(inttostr(ord(u[2])));
end;
私にとって、このコードは AV を生成します。