« Memoire (code) » : différence entre les versions
(Nouvelle page : ===Introduction=== Le framework utilise un mécanisme basé sur les compteurs de références pour gérer le cycle de vie des objets métiers associés à un mécanisme de « ramasse...) |
Aucun résumé des modifications |
||
Ligne 9 : | Ligne 9 : | ||
<source lang='delphi'> | <source lang='delphi'> | ||
Procedure MonObjet.MaProcedure ; | Procedure MonObjet.MaProcedure ; | ||
var obj :Tcompte ; | |||
begin | |||
// L’objet est recherché et affecté à la variable obj | // L’objet est recherché et affecté à la variable obj | ||
// son compteur de référence est incrémeté | // son compteur de référence est incrémeté | ||
Ligne 17 : | Ligne 17 : | ||
. . . | . . . | ||
// La fin du bloc de code libère l’objet tenu par la variable | // La fin du bloc de code libère l’objet tenu par la variable | ||
end; | |||
</source> | </source> | ||
Dernière version du 16 juillet 2009 à 16:20
Introduction
Le framework utilise un mécanisme basé sur les compteurs de références pour gérer le cycle de vie des objets métiers associés à un mécanisme de « ramasse miette ».
Le langage de script supporte ce mécanisme de manière transparente.
Lorsqu’un objet est affecté à une variable d’un bloc de script, le compteur de référence de l’objet est incrémenté. Lorsque le bloc de script est terminé, les objets tenus par des variables sont automatiquement libérés.
Exemple <source lang='delphi'> Procedure MonObjet.MaProcedure ; var obj :Tcompte ; begin
// L’objet est recherché et affecté à la variable obj // son compteur de référence est incrémeté Obj := ClassManager.FindObject(….) ; // opération sur l’objet obj . . . // La fin du bloc de code libère l’objet tenu par la variable
end; </source>
![]() |
Tip : Dans quelques cas particuliers le développeur peut souhaiter libérer prématurément un objet tenu par une variable, il suffit pour cela d’affecter la valeur nil à la variable. |
{{#if:Code métier|
{{#if:Code métier|— Code métier |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}