Thank you for your reply Thady. I'll try to simplify. I cannot view multilevel data in the watch window if the data is defined with TFPGObjectList. However, I can see the multiple levels if they are defined with mode delphi TObjectList.
I see, you are mixing up TObjectList from classes with the generic object list from FGL.
TObjectlist from classes has the same interface in both Delphi and FPC.
The FGL, however, is FPC only.
I suggest to use the generics.collections.TObjectlist<>, which is also generic and is compatible with both Delphi and Freepascal because, again, it has the same interface.
Owing to the multilevel of data, the developer employed to extend our app, made a common class derived from TFPGObjectList (full interface section):-
As above: that's where it goes wrong: use the generic TObjectlist<> from generics.collections, because that is not likely to cause probems. Choosing the FGL's TFPGObjectList is a big mistake in this case.
Actually, that developer should solve that free of charge, since you explicitly required to have the code compile in both Delphi and Freepascal,
so it is his fault.
(I forgive you that you mentioned mode, where you actually meant the two distinct compilers.)
The developer you chose does not have enough experience to work synchronized in both languages and keep everything compatible and compileable in both languages from the same sources.
Or is lazy and makes bad choices.
BTW: it is a one hour fix... probably less..