I work with Frames.
Every project is developed not on a TForm but on a TFrame.
These Frames are created on a Form at runtime and can be previewed by F12 at design-time as well.
At the end of all projects, you generate not ONE Frame on your form, but all of them.
This is, how the code may look alike:
Var
Frame_ReportsOnMain: TFrame_Frame_Reports = nil; // this leads into your report unit, which may be developed by Peter
procedure TForm1.FormCreate(Sender: TObject);
begin
if Frame_ReportsOnfMain = nil then begin
Frame_ReportsOnMain:=TFrame_Berichte.Create(self); // into storage
Frame_ReportsOnMain.Parent:=TabSheet_Reports; // display
end;
end;