d.bernaert Posted November 29, 2020 Posted November 29, 2020 Hello, I'm creating dynamically tabsheets on a unipagecontrol. On these tabsheets I host Uniframes that are created together with the tabsheet. The user can close tabsheets. My question is the following, when the user closes a tabsheet, the tabsheet is freed. Will the uniframe hosted on the tabsheet also be automatically freed or does this need to be done manually? Thx, Dominique Quote
x11 Posted November 29, 2020 Posted November 29, 2020 1. When create a frames, set owner tabsheet. https://www.thoughtco.com/owner-vs-parent-in-delphi-applications-1058218 Quote Every Delphi component has an Owner property. The Owner takes care of freeing the owned components when it is being freed. Destroying ParentTab will also destroy the frame: procedure TfmMain.CreateFrame(ParentTab: TUniTabSheet; UniFrameMyClass: TUniFrameMyClass); begin UniFrame := UniFrameMyClass.Create(ParentTab);// ParentTab will be owner UniFrame.Parent := ParentTab; UniFrame.Show; end; Quote
x11 Posted November 29, 2020 Posted November 29, 2020 2. In *.dpr add line ReportMemoryLeaksOnShutdown := True; befor Application.Initialize; then you will see when closing the application that there are memory leaks Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.