Language: Delphi XE

Problem:
There are two classes. A and B. A will have a list of derivatives from B. In B there is a reference to the instance of A which currently owns the instance of B. This reference is a read only member and can't be changed by the user. The idea is that when an instance of B is added to A's list, the reference in B will be updated to point to A. A and B are written in seperate unit files.

My question is how can I change them member in B from A? I know I can put A and B in the same unit file and take advantage of Delphi's scope rules, but I would like to keep the two classes in seperate unit files.
In c++ you can declare a class as a friend and expose certain members to that class. Is there something equivalent in Delphi? Are there any other suggestions on how to solve this problem?