You have made objects in Delphi 3 times over,
1/ what is the target purpose to each Control, VCL.control, FMX.control
2/ as a third party language how much of what windows offers of a screen object must you use? and what happens when you do not use what windows offers?
3/ If you made a total look a like screen object example TListbox that is junk from Windows example made a grid, called it a grid but did everything and more of TListbox what happens? making it in Delphi interface better, faster just as visible for user to use with same functionally. runs on Linux too.
So what are you bound to as you declare copy right to Delphi code to connect to windows, what else?