Delphi-Quellcode:
...
for y:=0 to High(aArray) do
folgeZustand.push
(
TZustand.create
(
without(aArray, y),
Feld,
TZustand(Zustand.top) /// <<---- ist 'Zustand' instantiiert?
)
);
end;
Und wie ich Bandwurmcode hasse
(schlecht lesbar, fehlerbehaftet, buäh), also schreib das mal übersichtlicher und formatiere deinen Code nächstes Mal zumindest ansatzweise, danke.
Delphi-Quellcode:
type
FeldArray1D = Array of TFeld;
var
folgeZustand, Zustand, zustandTop: TStack;
aArray, subArray: FeldArray1D
Feld: TFeld;
begin
zustandTop := TZustand(Zustand.top); // Einmal vor der Schleife gemerkt, reicht.
for y:=0 to High(aArray) do begin
subArray := Without(aArray,y);
neuerZustand := TZustand.create(subArray, Feld, zustandTop);
folgeZustand.push(neuerZustand);
end;
end;
Vielleicht ist das ja nun besser lesbar. Und wenn Zustand tatsächlich undefiniert ist (vielleicht sollte das ja eigentlich 'folgeZustand.Top' heißen, dann hättest Du auch deinen Fehler.