Ik heb een TFrame die ik de gebruiker wel of niet kan laten weergeven met een switch. Prima, dus als de gebruiker em aanzet, dan maak ik dat frame aan, zet de Parent property en hij werkt:
Als de gebruiker em weer uitzet, dan zou je zeggen dat de Parent op nil zetten en Free-en genoeg moet zijn. Maar RemoveComponent is ook nodig, omdat ik em de volgende keer niet kan aanmaken dan (omdat ie dan al bestaat). Dus de volgende code...
...zou het moeten doen. En warempel, als ik erdoorheen stap, werkt dit perfect!
MAAR: nadat dit uitgevoerd is, en ik helemaal door alle "end;" heen stap, komt ie uiteindelijk met een AV bij TCanvas.TryLock. En dit gebeurt niet als ik het frame niet vrijgeef. Op het frame staat ook niets bijzonders, alleen 3 doodnormale componentjes.
Delphi:
1
2
3
| Preview := TPreviewPaneFrame.Create(pnlPreviewPane, DB); Preview.Align := alClient; Preview.Parent := pnlPreviewPane; |
Als de gebruiker em weer uitzet, dan zou je zeggen dat de Parent op nil zetten en Free-en genoeg moet zijn. Maar RemoveComponent is ook nodig, omdat ik em de volgende keer niet kan aanmaken dan (omdat ie dan al bestaat). Dus de volgende code...
Delphi:
1
2
3
| Preview.Parent := nil; pnlPreviewPane.RemoveComponent(Preview); FreeAndNil(Preview); |
...zou het moeten doen. En warempel, als ik erdoorheen stap, werkt dit perfect!
MAAR: nadat dit uitgevoerd is, en ik helemaal door alle "end;" heen stap, komt ie uiteindelijk met een AV bij TCanvas.TryLock. En dit gebeurt niet als ik het frame niet vrijgeef. Op het frame staat ook niets bijzonders, alleen 3 doodnormale componentjes.
日本!🎌