Das funktioniert in meinem Fall nicht. Es ist jeder Platz belegt. Ich habe praktisch ein Raster, dessen Werte und Eigenschaften der Felder in dem dynamischen, mehrdimensionalen Array gespeichert sind.
Ich hab es jetzt so:
Delphi-Quellcode:
procedure ZustandSpeichern;
var i,n : integer;
begin
for i := 1 to MaxZeilen do
for n := 1 to MaxSpalten do
begin
SpeicherArray[i,n].zeichen := buchstabe[i,n].zeichen;
SpeicherArray[i,n].attribut := buchstabe[i,n].attribut;
end;
end;
procedure ZustandLaden;
var i,n : integer;
begin
for i := 1 to MaxZeilen do
for n := 1 to MaxSpalten do
begin
buchstabe[i,n].zeichen := SpeicherArray[i,n].zeichen;
buchstabe[i,n].attribut := SpeicherArray[i,n].attribut;
end;
end;
Vor dem Zeichnen bzw verändern von Werten in den Feldern wird ZustandSpeichern ausgeführt.
Delphi-Quellcode:
procedure TForm1.UndoClick(Sender: TObject);
begin
ZustandLaden;
end;
Das sollte funktionieren, tut es aber nicht...