Appologies, A longer post than I intended.
By way of a thank you to FPC and LCL developers and forum posters I have posted an update of my first attempt to re-develop my most complex VB6 program in Lazarus/Free Pascal. This is one of my LockDown (UK) successes, has helped maintain an element of sanity in a crazy world. The challenge I set myself was to take a working VB6 program and re-develop in Lazarus/Free Pascal. Although I am comfortable with programming the concept of OOP is new to me.
I am hugely grateful to those who have responded to my help requests on the forum with suggestions and answers and of course to those who have developed the development tools. Thank you all.
The purpose of the program is to document program logic, first written in Fortran back in the early (pre-PC's) 1980's with magnetic tape output direct to A0 plotter. Ahhh! The good old days. The notation is not one you will have seen but written by my boss at the time and used by me ever since.
The attachments show the main program, still a work in progress, and typical output. The output part was quite challenging, particularly scaling the fonts on the page and predicting layout on the screen (the program copes with taskbar any position, large/small icons and different screen resolutions but not all themes). The page acts as a print preview and is formatted so that the output print is correctly proportioned for example A4 printing. Highlighting a row in the results window makes that page visible.
The formatting of output is fully parameterised and will, in time, include selection of page format, orientation, printer.
While there is still lots to finish, particularly the printing, I feel confident that it can be achieved in FPC. For now I'm developing in a Windows environment my ultimate target is Mac OS. My first attempt to install Lazarus/Free Pascal Mac OS failed miserably. I have since found additional documentation that should help my next attempt.
What did I get wrong? Probably lots but the most glaring error is failure to understand high DPI and include it from development inception. However, in mitigation, it is unlikely that my program will be used anywhere other than on my own hardware so that's not a show stopper but it would be nice if the program would run on different hardware with different DPI's.
Perhaps also using Windows in a virtual environment (Parallels). While it works fine for most programs I suspect that it also has an impact on handling of High DPI. I note here that the calculated size of screen elements based on DPI as reported by FPC is incorrect, I think the reported DPI value is incorrect.
What next. Well Printing, obviously, more work on classes and using them and completing the program functionality.
Next projects: RS485/ModBus energy monitor. :PV Data capture and upload to internet
I might be busy for a few weeks!!!!!
Thank you all for your help