Hallo,
wenn ich mir die Zeichnung anschaue, dann vermute ich das Mr_G soetwas meint:
Delphi-Quellcode:
TSubCollection_1_Item = class(TCollectionItem) // wird von SubCollection_1 verwaltet !!!
...
TCollection_1 =class(TmxJsCollection)
private
FSubCollection_1 : TmxJsCollection;
FXYZ : Integer;
public
property SubCollection_1 : TmxJsCollection read FSubCollection_1 write FSubCollection_1;
property XYZ: Integer read FXYZ write FXYZ;
end;
Jetzt möchte Mr_G über SubCollection_1 auf XYZ Zugreifen.
SubCollection_1.Collection. weiter kommt Mr_G z.Z. noch nicht.
Jetzt würde ich für SubCollection_1 einen Nachfahren von TmxJsCollection basteln.
Diesem Nachfahren würde ich eine Parent Eigenschaft verpassen
Delphi-Quellcode:
TSubCollection_1_Item = class(TCollectionItem) // wird von SubCollection_1 verwaltet !!!
...
TCollection_1 =class;
TmxJsCollectionParent=class(TmxJsCollection)
private
FParent : TCollection_1;
public
property Parent : TCollection_1 read FParent write FParent;
end;
TCollection_1 =class(TmxJsCollection)
private
FSubCollection_1 : TmxJsCollectionParent;
FXYZ : Integer;
public
constructor Create(ItemClass : TCollectionItemClass);
property SubCollection_1 : TmxJsCollectionParent read FSubCollection_1 write FSubCollection_1;
property XYZ: Integer read FXYZ write FXYZ;
end;
...
TCollection_1.constructor.Create(ItemClass : TCollectionItemClass);
begin
inherited Create(ItemClass);
FSubCollection_1:=TmxJsCollectionParent(TSubCollection_1_Item);
FSubCollection.Parent:=Self; // Hier ist es !!!!!!!!
...
end;
Jetzt geht folgendes:
TmxJsCollectionParent(TSubCollection_1_Item.Collection).Parent.XYZ
(ungetested)