Do you mean something like this:
Code:
A = CLASS
PRIVATE
fListOfB: ARRAY OF B;
PUBLIC
PROCEDURE AddB (aB: B);
FUNCTION GetB (Ndx: INTEGER): B;
END;
/ ---- /
B = CLASS
PRIVATE
A_Owner: A;
END;
VCL has public "Owner". I'm not sure if it's writeable, but "Parent" is. BTW you can control the assignment.
Code:
PROCEDURE A.AddB (aBitem: B)
BEGIN
B.Owner := SELF;
fListOfB[fLast] := B;
END;
/ ----- /
B = CLASS
PRIVATE
fOwner: A;
PROCEDURE SetOwnerProperty (aOwner: A);
PUBLIC
PROPERTY Owner: A READ fOwner WRITE SetOwnerProperty;
END;
PROCEDURE B.SetOwnerProperty (aOwner: A);
BEGIN
IF SELF.fOwner != NIL THEN
SELF.fOwner.RemoveItem (SELF);
SELF.fOwner := aOwner;
END;
Bookmarks