le code de create se rexecute plusieurs fois
ce code là
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| aTitleBar:=TToolBar.Create(self);
bClose:=TButton.Create(self);
with bClose do
begin
Parent:=aTitleBar;
Height:=25;
Width:=25;
Align:=TAlignLayout.alRight;
Text:='X';
end;
with aTitleBar do
begin
Parent:=Self;
Height:= 25;
OnMouseDown:=obOnmouseDown;
OnMouseMove:=obOnMouseMove;
OnMouseUp:=obOnMouseUp;
end; |
s’exécute plusieurs fois
Normalement
Code:
TToolBar.Create(self);
ne devrais s'executer qu'une fois.
csDesigning in ComponentState
Code:
1 2 3 4
| if not(csDesigning in ComponentState) then
begin
aTitleBar:=TPanel.Create(Self);
bClose:=TButton.Create(Self); |
3/4 du dev du jeudi sur la création de composant, et je m'aperçoit, que le contenu de mon panel est créer deux fois.
1 fois quand je pose le composant sur ma fiche
et une autre fois quand j’exécute le programme exemple.
il va falloir rusé, mais à cet instant je ne voit pas comment 8O
qu'est-ce que ça veux dire ?
Code:
B := FindResource('le_nom_de_ta_toolbar_dans_le_style');
entre temps j'ai remplacé le panel par un rectangle
dans tous les cas dans le style c'est : panelstyle :Trectangle, toolbarstyle:Trectangle
j'ai essayé
Code:
1 2 3 4
| B := FindResource('panelstyle:TRectangle');
If aTitleBar <> Nil Then
Begin
aTitleBar := TRectangle(B); |
[DCC Erreur] uAlhFloatingWindows.pas(79): E2010 Types incompatibles : 'NativeUInt' et 'string'
[DCC Erreur] uAlhFloatingWindows.pas(82): E2003 Identificateur non déclaré : 'TRectangle'