OnCreateEventId (class)
De Wiki1000
(Différences entre les versions)
| (Une révision intermédiaire par un utilisateur est masqué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]] | ||
Version actuelle en date du 5 décembre 2024 à 10:50
(Version 11)
class function OnCreateEventID():string;
Retire 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.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;
Voir aussi :
| Whos here now: Members 0 Guests 0 Bots & Crawlers 1 |