Bonjour,
Je dois créer un TCategoryPanelGroup au runtime (voici le code)
mais aussi détruire ce dernier avec bien sur tous les composants (en l'occurence une Frame mis dedans et là , je doute ......
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 // on diras que c'est sur un onClick ;-) var AGroup : TCategoryPanelGroup; APanel : TCategoryPanel; begin AGroup:=TCategoryPanelGroup.Create(self); AGroup.GradientBaseColor:=Main.Degrade.StartColor; AGroup.GradientColor:=Main.Degrade.EndColor; AGroup.Parent:=Panel1; AGroup.Name:='Groupe'; AGroup.ParentColor:=True; AGroup.Align:=alClient; for i:=1 to 5 do APanel:= AGroup.CreatePanel(Self) as TCategoryPanel; APanel.Caption:='Panneau '+inttostr(i); APanel.Height:=120+AGroup.HeaderHeight; APanel.Align:=alTop; APanel.Collapsed:=True; APanel.Tag:=i; APAnel.OnExpand:=CategoryPanel1Expand; end; APanel:=AGroup.Panels.First; APanel.Expand; end; procedure TFormArticle.CategoryPanel1Expand(Sender: TObject); var F : TFrame3; TROQ : TZReadOnlyQuery; Opt : String; begin if (Sender as TCategoryPanel).tag<0 then exit; F:=TFrame3.Create(Self); try F.Parent:=TCategoryPanel(Sender); F.Name:='F'+inttostr((Sender as TCategoryPanel).tag); (Sender as TCategoryPanel).tag:=(Sender as TCategoryPanel).tag*-1; F.ParentColor:=True; F.Align:=alClient; finally end; end;
ce code fait bien le travail
mais est-ce une destruction propre ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 AGroup.Destroy;
Quid des composants posés (et frames) , sont ils(elles) détruit(e)s en même temps ou suis-je en train de polluer la mémoire ? "That is the Question" écrirait Shakespeare
Partager