Opérations de classe (code)

De Wiki1000
(Différences entre les versions)
(Nouvelle page : Une opération de classe est une opération qui est supportée par le type de la classe métier; a contrario une opération d'objet est supportée par l'instance d'une classe. Une o...)
 
 
Ligne 28 : Ligne 28 :
  
 
Il existe deux types d'opérations de classe :
 
Il existe deux types d'opérations de classe :
* Les opérations de classe génériques définies par le framework.
+
* Les [[Classes métiers (tech)|opérations de classe]] génériques définies par le framework.
 
* Les opérations de classe définies par le modèle de la classe.
 
* Les opérations de classe définies par le modèle de la classe.
  

Version actuelle en date du 26 juillet 2009 à 15:14

Une opération de classe est une opération qui est supportée par le type de la classe métier; a contrario une opération d'objet est supportée par l'instance d'une classe.

Une opération de classe doit être invoquée sur la classe métier.

Exemple :

class function FacadeComptable.FindExercice(ADate:TDatetime):TExercice;
begin
  // Méthode de classe retrouvant l'exercice comptable contenant une date.
  // 
  Result := TExercice.Find('(dateDebut<=%1) and (dateFin>%1)','oid',True,[ADate,ADate]);
end;
 
procedure MyClass.foo(ADate:TDatetime);
var exercice:TExercice;
begin
  // Appel de la méthode de classe pour retrouver l'exercice.
  exercice := FacadeComptable.FindExercice(ADate);
  if Assigned(exercice) then
    begin
      ...
    end;
end;
Info-20px.png Note : Une opération de classe ne peut pas faire référence aux attributs de la classe car ceux-ci ne sont pas définis au niveau de la classe.


Il existe deux types d'opérations de classe :

  • Les opérations de classe génériques définies par le framework.
  • Les opérations de classe définies par le modèle de la classe.

Pour définir une opération comme opération de classe cochez la case correspondante dans le dialogue de propriété d'une opération:

image1.png

Code métierDéveloppement DSM

Outils personnels