« OnCreateEventId (class) » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 13 : | Ligne 13 : | ||
<source lang='delphi'> | <source lang='delphi'> | ||
Type | |||
MyClass = class(TdbObject) | |||
//... | |||
property CanStart:boolean; | |||
end; | |||
MyTask = class(TitTask) | |||
Function Execute():boolean; | |||
Function doExecute(obj:TitObject):boolean; | |||
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; | |||
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; | |||
//procedure RegisterTasks; | |||
begin | |||
MyClass.RegisterOnCreateEvent(); | |||
MyTask.Subscribe( | |||
MyClass.OnCreateEventId(), | |||
[],[] | |||
); | |||
end; | |||
</source> | </source> | ||
Voir aussi : | Voir aussi : | ||
* [[RegisterOnCreateEvent_(class)|RegisterOnCreateEvent]] | |||
* [[OnChangeEventId_(class)|OnChangeEventId]] | * [[OnChangeEventId_(class)|OnChangeEventId]] | ||
Dernière version du 5 décembre 2024 à 09:50
(Version 11) <source lang='delphi'>class function OnCreateEventID():string;</source>
Retire l'identifiant de l'évènement de création d'un objet de cette classe.
Return | L'identifiant de l'évènement |
Exemple
<source lang='delphi'> Type
MyClass = class(TdbObject) //... property CanStart:boolean; end;
MyTask = class(TitTask) Function Execute():boolean; Function doExecute(obj:TitObject):boolean; 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; 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;
//procedure RegisterTasks; begin
MyClass.RegisterOnCreateEvent();
MyTask.Subscribe( MyClass.OnCreateEventId(), [],[] );
end; </source>
Voir aussi :
{{#if:Classes métiers (tech)|
{{#if:Classes métiers (tech)|— Classes métiers (tech) |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}