Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Dynamische Array mit Problemen

  Alt 23. Mär 2004, 23:18
einfach glück das es klappt bei der ID. Der Fehler liegt beim Index
Delphi-Quellcode:
H := High(Nachteil)+1
SetLength(Nachteil,H);
Nachteil[H].ID := 1;
Wenn dein Array bei 0 losgeht greifst du auf den index außerhalb des bereichs zu weil wenn angenommen die aktuelle länge von "Nachteil" 5 ist so ist H = 4 + 1 = 5
Somit ist die neue Länge ist somit weiterhin 5
Dann versuchst du haber auf Nachteil[5] zuzugreifen was schiefgeht weil der höchste Index 4 ist...

mal lieber folgendes
Delphi-Quellcode:
setlength(Nachteil, length(Nachteil) + 1);
Nachteil[Hight(Nachteil)].ID := 1;
...
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat