Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Dynamisches Array verursacht brutalen Fehler.

  Alt 29. Jul 2005, 15:39
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Temp1 := (high(MyArray) + 1);
  Setlength(MyArray, Temp1);
  MyArray[Temp1-1].a := Temp1; // <--------------------
    label1.Caption := IntToStr(Temp1);
end;
\\edit2: Man beachte das Posting hier vor - Temp1 ist nicht 0 sondern -1. Ich hatte mich verlesen und ein Length() gesehen wo ein High() stand . Somit gilt folgende Aussage für den QT mit Length() anstelle von High():
Das erste Element in deinem Array hat den Index 0. Temp1 ist bei dir nach dem ersten Aufruf 1. Damit setzt du dein Array auf die Länge eins, das Element sitzt aber an Index 0!
Bei nullbasierten Arrays gilt immer: höchster Index = Länge-1

\\edit: Roter Kasten wieder kaputt .
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat