OnCreateEventId (class)

De Wiki1000
(Différences entre les versions)
 
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;

Version actuelle en date du 9 janvier 2026 à 14: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





Whos here now:   Members 0   Guests 0   Bots & Crawlers 1
 
Outils personnels