FYI: sounds a lot like your main could use something like a TFrame. This "component" is a separate unit and form you build that can live on a something like a tpanel on the main form. You can program this mini panel with it's own buttons and fields and have it pass a result back to your main form to work with or give your Frame the ability to send and receive directly, read to save to file, (...) .
I started using them years ago and enjoy the power of just dropping them where ever I need them. I keep mine simple so they are mostly self contained and have calls from the parent form for initial settings and result handling.
I keep these units in a '../common' folder apart from the main project (at the same level). then use cdbc path trick to include into the project. you can still use the .ini in Main for position, size, color, font, paths,... and pass a subset of them to the Tframe (font, color, path...). there are some tricks to using them but I think they have all been called out in this forum.