Ich habe ein Problem mit meinem Array.
Ich habe ein dynamisches Array erstellt und setzte danach die Länge fest.
var data: Array of Byte;
setlength(data, length(Edit3.Text) + 14);
Zum Schluss muss ich den letzten beiden Array Werten = 0 zuweisen.
Da ich aber nicht weiß, wie lang das Array ist, benutze ich also zum füllen der letzen beiden Arraystellen folgenden Code:
Delphi-Quellcode:
data[length(Edit3.Text) + 14 - 1] := 0;
data[length(Edit3.Text) + 14] := 0;
Doch wenn ich mein Programm starte bekomme ich die Meldung: "Zugriffsverletzung bei Adresse ... "
Wenn ich jedoch die letze Stelle des Arrays nicht belege, funktioniert alles.
Doch warum ist das so?
Muss bei einem dynamischen Array die letzte Stelle immer frei bleiben?