I have been using Lazarus/Free Pascal for some time to run parts of a big old Delphi 6 project that I worked on back in early the 2000s. Having successfully compiled and run lots of the low level stuff, I am generally very impressed with Lazarus, so thanks in advance for all the hard work that has gone into the project.
But now comes the tricky bit. The original projects used Forms inheritance, packages and other Delphi 6 delights that imo were never completely foolproof in the D6 environment. In Lazarus, I am now trying to inherit a "base" form TBaseForm that was extensively used by the D6 projects. Having carved out all the windows dependencies, the base form compiles runs OK on its own in Lazarus IDEv2.2.4 under Win 10 (32bit compiler version).
I successfully managed to create a simple new project with an inherited TBaseform, by creating a new form and changing its class from TForm to TBaseForm (itself a descendent of TForm) and copying/renaming the base form's .lfm file to the new project, finally changing the .lfr file appropriately. This works and compiles and runs OK, but something is obviously awry, in the IDE because Ctrl click no longer functions consistently, making navigation around the code return to 1980s dark ages! Ctrl click works in the .lpr file, but not in the unit containing the inherited form. The underline does not illuminate when Ctrl is pressed with the curser hovering over an element in the code and right click|Find declaration goes somewhere completely random. It doesn't work in any of the other units in the project either.
Yes, I know that there is a Lazarus package that is supposed to enable Form inheritance, but I am curious to know what might be going wrong with the manual method that I used, before grappling with packages.