« Memoire (code) » : différence entre les versions

De Wiki1000
(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 ;
var obj :Tcompte ;
Begin
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
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

}}