Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:lazarus:bonnes_pratiques [05/05/2020 10:12]
thierry [Événements]
prog:lazarus:bonnes_pratiques [15/06/2023 11:43] (Version actuelle)
thierry [Property Published de Type Object doivent être assignées]
Ligne 4: Ligne 4:
  
 Prendre soin de toujours accompagner un événement (OnXXXX) par sa procédure d'​appel (DoXXXX).\\ Par exemple l'​evenement OnChange doit etre géré dans la procedure DoChange.\\ Prendre soin de toujours accompagner un événement (OnXXXX) par sa procédure d'​appel (DoXXXX).\\ Par exemple l'​evenement OnChange doit etre géré dans la procedure DoChange.\\
-La Procédure DoXXX doit etre dans la section ''​protected''​ et déclarée comme ''​virtual''​ pour permettre aux descendants de l'​ignorer et d'​intercepter les appels.+La Procédure DoXXX doit etre dans la section ''​protected''​ et déclarée comme ''​virtual''​ pour permettre aux descendants de l'​ignorer et d'​intercepter les appels ​en la surchargeant. 
 +==== Property Published de Type Object doivent être assignées ==== 
 +Concerne la création de component :\\ 
 +Quand une ''​Property Published''​ est un objet.\\ 
 +On doit l'​assigner avec un ''​SetXXX''​ et ''​OBJECT.Assign''​.\\ 
 +Sinon il ne sera pas initialiser pas le système lors de la création du component. 
 +<code delphi>​ 
 +published 
 +      property Margin: TMarginObject read FMargin write SetMargin; // BIEN ! 
 +      property Margin: TMarginObject read FMargin write FMargin; // PAS BIEN ! 
 +       
 +// Avec:  
 +procedure TMonObjet.SetMargin(AValue:​ TMarginObject);​ 
 +begin 
 +   ​FMargin.Assign(AValue);​ 
 +end;   
 +</​code>​ 
 +===== Calculs ===== 
 +==== Division ==== 
 +Si le diviseur est une variable, toujours vérifier si le diviseur n'est pas ZERO avant d'​effectuer la division. 
 + 
 + 
 + 
 + 
 +===== Ressources ===== 
 +  * [[https://​edn.embarcadero.com/​article/​10280|Object Pascal Style Guide @Embarcadero]] 
 +  * [[https://​www.riff.org/​node/​11897|Notation Hongroise]] 
 +  * [[https://​www.developpez.net/​forums/​blogs/​360691-retwas/​b2050/​bonnes-pratiques-delphi/​]]