So, I need to point out that fixes_2_2 (downloaded this morning) has this bug,
https://bugs.freepascal.org/view.php?id=38922It affects windows developers who are using HiPDI screens and making binaries that will be used on normal screens OR developers using normal DPI and the binaries may possibly be used on a HiDPI system. Important to note that the developer testing the code on his/her working system will not pickup this problem !
What happens is that forms that are not shown at startup, are having their FormShow event called during startup. The form is not actually shown, I guess its not ready at that stage. So, in some cases that does not matter but in other cases, code in the FormShow method depends other things having happened and a crash results. Personally, I would greatly prefer to have FormShow called when the form is being shown !
As many median priced laptops these days have hiDPI screens, we should see quite a lot systems being affected.
Very easy to demonstrate, on (eg) a normal DPI screen system, make the usual default main form, add a second form, Unit2 and in its OnShow event, put "showmessage('Unit 2 FormShow'); "
Take the binary to a HiDPI system and run it. Or take the project there and compile and run it (being careful not to make unit2.lfm rewrite).
The difference in DPI relates to a line in the lfm file, DesignTimePPI = 144
The bug report identifies the revision that the problem first appeared in trunk and also mentions a later fix that has subsequently been reversed .......
Davo