Zitat von
mkinzler:
FLeuchten[idx-1] := vLeuchte;
Nein! Wenn er in das letzte Item speichern möchte, dann brauch er das nicht!
PS: Der Fehler tritt nach dem setzen des Zielortes... Hmmm...
[edit]Ich habe so folgendermaßen editiert:
Delphi-Quellcode:
procedure TStromkreis.Add_Leuchte(vAdresse : integer; vZielort: string);
var idx : integer;
vLeuchte : TLeuchte;
begin
idx := get_Anzahl_Leuchten;
// = Length(FLeuchten)! Vorher war es High(FLeuchten), und die hast es hier im ein erhöht
// Übrigends: High gibt nicht die Anzahl zurück :D sondern Length :P
SetLength(FLeuchten, idx + 1);
// Direktes Create
FLeuchten[idx] := TLeuchte.create;
FLeuchten[idx].Adresse := vAdresse;
FLeuchten[idx].Zielort := vZielort;
//Ausgabe einer Testnachricht
Showmessage('');
end;
Nun er scheint die Nachricht einmal, und beim zweitenmal, wirft er da die
Exception?!
Das ist seltsam ...