Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#5

AW: Undo Redo: Bilder

  Alt 8. Mai 2012, 19:39
Delphi-Quellcode:
//Auf das Bild schreiben
procedure TForm1.BT_WriteClick(Sender: TObject);
var i,z,x,y: integer;
begin
  SetLength(Bitmap2, Length(Bitmap2) + 1); // hier muss es Length heißen!
  Bitmap2[High(Bitmap2)] := TPicture.Create;
  Bitmap2[High(Bitmap2)].Bitmap.Assign(Image1.Picture);
  inc(Bitmap2X);
...
...
end;
An dieser Stelle hängst du zwar das neue Bild an das Ende des Arrays dran, aber wer sagt dir denn, daß Bitmap2X auch wirklich am Ende des Arrays steht?

Für eine saubere Undo/Redo-Implementierung brauchst du zwei Stacks: einen für die Undo- und einen für die Redo-Operation.

Ich habe da mal vor ein paar Jahren etwas geschrieben, das du ja mal als Anregung anschauen kannst: UndoManager
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat