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