E2157 Auf Element 0 kann nicht zugegriffen werden - 'Length' oder 'SetLength' verwenden (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi) - Index

Der Delphi-Typ string speichert die Länge des Strings nicht in Element 0. Die alte Methode, die Länge eines Strings durch Zugriff auf Element 0 zu verändern oder abzurufen, funktioniert bei langen Strings nicht.


program Produce;

  var
    str : String;
    len : Integer;

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

Hier versucht das Programm, die Länge des Strings durch direkten Zugriff auf das erste Element abzurufen. Dies ist nicht zulässig.


program Solve;

  var
    str : String;
    len : Integer;

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

Mit den Standard-Prozeduren SetLength und Length besitzen Sie denselben Funktionsumfang wie durch direkten Zugriff auf das erste Element des Strings. Wenn die Hinweisfunktion aktiviert ist, erhalten Sie eine Warnmeldung darüber, dass der Wert von "len" nicht benutzt wird.