Prof A Olowofoyeku (The African Chief) wrote:
[...]
I am more concerned about semantics, I am affraid that the presence/ absence of Root/TObject can be detected.
Quite possible. Also we should consider that Borland may change TObject in future versions. If we decide that we can, and want to, identify it with Root now, and later they change it so it's not compatible anymore, we'll have a problem.
We could do it this way, in the RTS ...
Type Root = Class OOE stuff ... end;
TObject = Class (Root) Delphi stuff ... end;
So if Borland change TObject, this needn't cause any incompatibility with Root. The question though is whether the fact that TObject then becomes a subclass of another object is problematic for Delphi compatibility ...
This is one question which perhaps you can judge better than us. Of course, we must ensure that either Root or TObject becomes the implicit parent, depending on the mode.
The other question is if Root is in fact a proper ancestor of TObject (not by definition, of course, but perhaps by their features). Have you, or someone else, checked this?
If so, this might be a good idea, as OOE is unlikely to change soon (and thus Root to add features), neither Delphi to drop existing features from TObject.
Frank