SealSelector (TSealOpeLogRegClass)

De Wiki1000
class function SealSelector(Sel:TSelector; var aReason:string):Integer;
Paramètre Usage
Result Nombre d'objet scellé, 0 indique une erreur
Sel sélecteur sur la classe scellée.
aReason Information sur l'erreur

Cette méthode :

  • Vérrouille la classe journal
  • Crée un enregistrement de journal
  • Gère une transaction longue si aucune transaction longue n'est ouverte.

Les objets du sélecteur doivent être numérotés suivant l'ordre de la séquence de scellement, le numéro de séquence du premier objet doit être le prochain numéro de séquence du dernier enregistrement du journal.

Exemple:

function SealInstancesUsingSelector(iFirstSequence:Integer; iCount:Integer; var aReason:string):Integer;
var sel:TSelector; aSequenceNumber:Integer; AStr:string;
begin
  ClassManager.BeginLongTran(0,'ClassSealed');
  try
   sel := ClassSealed.CreateSelector('(sequenceNumber>=%1)and(sequenceNumber<%2)','sequenceNumber',True,[iFirstSequence,iFirstSequence+iCount]);
 
   Result := ClassSealOpeLog.SealSelector(sel,AStr);
  aReason := AStr;
   if Result=0 then
    begin
      ClassManager.RollBackLongTran;
      Exit;
    end;
   ClassManager.CommitLongTran;
  except
  Result := 0;
  ClassManager.RollBackLongTran;
 end;
end;

Voir aussi

Classe_journal de scellement_(stereotype)Développement DSM

Outils personnels