Différences
Ci-dessous, les différences entre deux révisions de la page.
| 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 12:03] thierry [OnXXX doit etre géré par DoXXX] |
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 ===== | ===== Ressources ===== | ||
| * [[https://edn.embarcadero.com/article/10280|Object Pascal Style Guide @Embarcadero]] | * [[https://edn.embarcadero.com/article/10280|Object Pascal Style Guide @Embarcadero]] | ||