System.SyncObjs.TEvent.Create
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.
Définissez le paramètre EventAttributes pour spécifier les droits d'accès et les possibilités d'héritage du nouvel objet événement. L'appel de Create quand EventAttributes est défini à nil (Delphi) ou NULL (C++) crée un objet événement avec les valeurs par défaut des 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 sont déterminés à 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 de la méthode ResetEvent ou s'il est automatiquement réinitialisé quand un thread unique en attente est libéré. Si ManualReset a la valeur true, le signal TEvent reste défini jusqu'à ce que la méthode ResetEvent le désactive. Si ManualReset a la valeur false, le signal est automatiquement désactivé seulement quand un thread unique 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 activé ou désactivé. Si InitialState a la valeur true, l'objet TEvent est créé avec le signal activé. Si l'objet TEvent est créé pour accéder à un objet événement nommé existant, le paramètre InitialState est ignoré.
Affectez Name pour attribuer un nom au nouvel objet événement ou pour spécifier le nom d'un objet événement existant. Si aucun autre thread ou processus n'a besoin d'accéder à l'objet événement pour attendre son signal, Name peut rester vide. Name est une chaîne comportant jusqu'à 260 caractères ne contenant pas le caractère barre oblique inversée (\). Si Name est utilisé pour spécifier un objet événement existant, la valeur doit correspondre au nom de l'événement existant en distinguant les minuscules des majuscules. Si Name correspond au nom d'un sémaphore, d'un mutex ou d'un objet fichier de mappage existant, l'objet TEvent sera créé avec Handle initialisée à 0 et toutes ses méthodes é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.