I\'ve been working on a project in Delphi 7 where I wanted to have forms inherit components from other forms. I was able to get this working, but came across the following issue
First, for those who don't know how to inherit a form visually, you create the ancestor form as usual. Then go to File > New > Other. Select the tab with the name of the current project, and choose the form you want to inherit from. If you want to inherit from a form that's not part of the current project, open that form, right click it, and choose Add to Repository. Then you will be able to go to File > New > Other and select that form from the appropriate tab.
Given that, I came across issues because some of the descendant forms were already created, so I couldn't follow the process above. Also, I made some changes to forms from the standard code Delphi creates. I was able to resolve all issues with visual form inheritance using the following guidelines:
type TMyForm = class(TAncestorForm)
inherited
instead of object
, e.g.:inherited MyForm: TMyForm
var AncestorForm: TAncestorForm;
uses
section of the .dpr file of the project must have that same global variable as a comment after the unit's file name, e.g.:unAncestor in 'unAncestor.pas' {AncestorForm}
Notes/Tips: