Using a derived PopupClass in a derived BrowseClass

Not the easiest to explain, especially with my basic class knowledge.

I use a derived browse class. Is there a way to clearly override the reference in the parent browse to the popup class IF one would like to also use a derived popup class? In other words, I would like to be able to call:
MyBrowse.Popup.MyPopupMethod

Changing the popup reference in the standard browse is likely possible but does bring some maintenance risk.

You could dispose the popup reference inside browseclass or your derived one, and reasign it downcasting your derived popupclass. Popup class has lots of private properties and procedures. Another issue is that popup class has no virtual procedures, so the internal calls in parent popup will remain internal, they will not reach your overridden procedures if any. So while it might appears to work, it could be calling its procedures instead yours. Which ones did you want to override?

I attached an example zip with clw, sln and cwproj
drvbrpup.zip (1,9 KB)

Your example shows what I was guessing might be the only alternative.
I have already deleted some private attributes in the shipping class but was hoping there might be another way to use added methods in a derived class.

To me, this is a good example of where the shipping classes could benefit from some re-think and update.