« OnCreateEventId (class) » : différence entre les versions

De Wiki1000
Aucun résumé des modifications
Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 2 : Ligne 2 :
<source lang='delphi'>class function OnCreateEventID():string;</source>
<source lang='delphi'>class function OnCreateEventID():string;</source>


Retire l'identifiant de l'évènement de création d'un objet de cette classe.
Retourne l'identifiant de l'évènement de création d'un objet de cette classe.


{|class="wikitable"
{|class="wikitable"
Ligne 23 : Ligne 23 :
     Function doExecute(obj:TitObject):boolean;
     Function doExecute(obj:TitObject):boolean;
   end;
   end;
Function MyTask.Execute():boolean;
var aMsg:TdbmQueueMessage;
begin
  Result := False;
  aMsg := ReceivedMsg as TdbmQueueMessage;
  if Assigned(aMsg) then
  begin
    if Assigned(SourceObject) then
      begin
        Result := doExecute(SourceObject);                 
      end;
  end;
end;


Function MyTask.doExecute(obj:TitObject):boolean;
Function MyTask.doExecute(obj:TitObject):boolean;
Ligne 55 : Ligne 41 :
   else Result := False;  
   else Result := False;  
end;
end;
Function MyTask.Execute():boolean;
var aMsg:TdbmQueueMessage;
begin
  Result := False;
  aMsg := ReceivedMsg as TdbmQueueMessage;
  if Assigned(aMsg) then
  begin
    if Assigned(SourceObject) then
      begin
        Result := doExecute(SourceObject);                 
      end;
  end;
end;


//procedure RegisterTasks;
//procedure RegisterTasks;

Dernière version du 9 janvier 2026 à 13:48

(Version 11)

class function OnCreateEventID():string;

Retourne l'identifiant de l'évènement de création d'un objet de cette classe.

Return L'identifiant de l'évènement

Exemple

Type
  MyClass = class(TdbObject)
   //...
   property CanStart:boolean; 
  end;  

  MyTask = class(TitTask)
    Function Execute():boolean;
    Function doExecute(obj:TitObject):boolean;
  end;

Function MyTask.doExecute(obj:TitObject):boolean;
begin
  if obj is MyClass then
   begin
     if (obj as MyClass).CanStart then 
      begin
        AddMessage(Format('object %s ...',[(obj as MyClass).Caption])); 
        // do something ...  
      end
      else
      begin
        AddMessage(Format('objet %s ne peut pas ...'),[(obj as MyClass).Caption])); 
      end; 
     Result := True;
   end
   else Result := False; 
end;

Function MyTask.Execute():boolean;
var aMsg:TdbmQueueMessage; 
begin
  Result := False; 
  aMsg := ReceivedMsg as TdbmQueueMessage;
  if Assigned(aMsg) then
   begin
     if Assigned(SourceObject) then
      begin
        Result := doExecute(SourceObject);                  
       end; 
   end;
end;


//procedure RegisterTasks;
begin
  MyClass.RegisterOnCreateEvent();

  MyTask.Subscribe(
    MyClass.OnCreateEventId(),
    [],[]
  );
end;

Voir aussi :


— Classes métiers (tech) — Développement DSM —