Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#1

Objekt komplett mit enthaltenden Objekten kopieren

  Alt 2. Dez 2005, 14:42
Hi geschätzte Forumler!

Ich zermatere mir grad den Kopf darüber wie ich etwas wie im Titel beschrieben möglichst einfach realisieren kann. Ich poste mal zum besseren Verständnis um was für eine Struktur es sich handelt:
Delphi-Quellcode:
  TGridPoint = class(TObject)
  private
    FPos: TVector;
    FAbove,
    FUnder,
    FLeft,
    FRight: TGridPoint;
  public
    constructor Create(aPosX, aPosY: Single; aAbove, aUnder, aLeft, aRight: TGridPoint);
    property Position : TVector read FPos write FPos;
    property PointAbove: TGridPoint read FAbove write FAbove;
    property PointUnder: TGridPoint read FUnder write FUnder;
    property PointLeft : TGridPoint read FLeft write FLeft;
    property PointRight: TGridPoint read FRight write FRight;
  end;

  TGrid = class(TObject)
  private
    FRoot: TGridPoint;
  public
    constructor Create(aSizeX, aSizeY: Single);
  end;
Es geht nun um TGrid: Ein Objekt also, dass ein Gitter enthalten soll, wobei jeder Punkt des Gitters wieder ein Objekt ist, die lediglich über Referenzen untereinander verbunden sind.
Ziel soll es nachher sein soetwas machen zu können:
Delphi-Quellcode:
procedure Foo;
var
  gridA, gridB: TGrid;
begin
  gridA := TGrid.Create(...);
  // irgendwas mit gridA machen
  gridA.CopyInto(gridB);
end;
Nuja, eben letzte Zeile ist so das Dingen. Eine einfache Zuweisung des Pointers ist nicht drin, da ich das Teil unbedingt 2 mal brauche, und sie sollen sich nach dem Kopieren unabhängig voneinander verändern können. Problem dabei ist denke ich, dass die Verweise der TGridPoints untereinander ekelig werden könnten, da sich ja komplett die Adressen ändern werden...
Gibt es da eine möglichst simple Variante das so zu basteln?

Vielen Dank schonmal!
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat