System.SyncObjs.TEvent.Create

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

constructor Create(EventAttributes: PSecurityAttributes; ManualReset,
InitialState: Boolean; const Name: string; UseCOMWait: Boolean = False); overload;
constructor Create(UseCOMWait: Boolean = False); overload;

C++

__fastcall TEvent(Winapi::Windows::PSecurityAttributes EventAttributes, bool ManualReset, bool InitialState, const System::UnicodeString Name, bool UseCOMWait)/* overload */;
__fastcall TEvent(bool UseCOMWait)/* overload */;

Propriétés

Type Visibilité  Source Unité  Parent
constructor public
System.SyncObjs.pas
System.SyncObjs.hpp
System.SyncObjs TEvent


Description

Instancie un objet TEvent pour représenter un objet événement.

Appelez Create pour créer un objet TEvent. Create peut générer un nouvel objet événement ou donner accès à un objet événement nommé existant.

Le premier constructeur surchargé définit les paramètres suivants :

  • Définissez le paramètre EventAttributes afin de spécifier les droits d'accès et les capacités d'héritage du nouvel objet événement. Appeler Create avec EventAttributes défini sur nil (Delphi) ou NULL (C++) crée un objet événement avec un ensemble par défaut d'attributs de sécurité. Si l'objet TEvent est créé pour accéder à un objet événement nommé existant, seul le champ bInheritHandle de EventAttributes est utilisé, puisque les droits d'accès ont été déterminés lors de la création de l'objet événement.
  • Définissez ManualReset pour spécifier si le signal de l'objet TEvent peut uniquement être désactivé par un appel à la méthode ResetEvent, ou s'il est automatiquement redéfini lorsqu'un seul thread en attente est libéré. Quand ManualReset vaut true, le signal TEvent reste défini jusqu'à ce que la méthode ResetEvent le désactive. Quand ManualReset vaut false, le signal est automatiquement désactivé lorsqu'un seul thread attend le signal et que ce thread est libéré. Si l'objet TEvent est créé pour accéder à un objet événement nommé existant, le paramètre ManualReset est ignoré.
  • Définissez InitialState pour indiquer si l'objet TEvent doit être créé avec le signal défini, ou désactivé. Quand InitialState vaut True, l'objet TEvent est créé avec le signal défini. Si l'objet TEvent est créé pour accéder à un objet événement nommé existant, le paramètre InitialState est ignoré.
  • Définissez Name pour fournir un nom pour un nouvel objet événement ou pour spécifier un objet événement nommé existant. Si aucun autre thread ou procédé ne doit pas accéder à l'objet événement afin d'attendre son signal, Name peut être laissé vide. Name peut être une chaîne de jusqu'à 260 caractères, caractère barre oblique inverse (\) non inclus. Si Name est utilisé pour spécifier un objet événement existant, la valeur doit correspondre au nom de l'événement existant lors d'une comparaison sensible à la casse. Si Name correspond au nom d'un sémaphore, d'un mutex ou d'un objet fichier de mappage, l'objet TEvent sera créé avec Handle défini sur 0 et tous les appels de méthode échoueront.
  • Définissez UseCOMWait sur True pour garantir que lorsqu'un thread est bloqué et en attente de l'objet, tous les rappels STA COM peuvent être effectués dans ce thread.

Le deuxième constructeur surchargé accepte uniquement le paramètre UseCOMWait. Ce constructeur crée un événement avec des attributs d'événement null, une réinitialisation manuelle, non signalée initialement, et un nom vide.

Voir aussi