System.SyncObjs.TEvent.Create

提供: RAD Studio API Documentation
移動先: 案内検索

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 */;

プロパティ

種類 可視性 ソース ユニット
constructor public
System.SyncObjs.pas
System.SyncObjs.hpp
System.SyncObjs TEvent


説明

イベント オブジェクトを表す TEvent オブジェクトをインスタンス化します。

Create を呼び出すと、TEvent オブジェクトを作成することができます。 Create は、新しいイベント オブジェクトを生成したり、既存の名前付きイベントオブジェクトへのアクセスを提供します。

第 1 オーバーロード コンストラクタは、次のパラメータを設定します:

  • EventAttributes パラメータを設定して、新しいイベント オブジェクトのアクセス権限と継承機能を指定します。nil (Delphi) または NULL (C++) に設定された EventAttributes で Create を呼び出すと、イベント オブジェクトを、デフォルト セットのセキュリティ属性で作成します。既存の名前付きイベント オブジェクトへアクセスするために、TEvent オブジェクトが作成された場合、EventAttributes の bInheritHandle フィールドのみが使用されます。これは、イベント オブジェクトが作成された際に、アクセス権限が決定されるからです。
  • ManualReset を設定すると、TEvent オブジェクトのシグナルが、ResetEvent メソッドへの呼び出しによってのみオフに替わるのか、単一の待機メソッドがリリースされた際に自動的にリセットされるのかを指定することができます。ManualReset が true の場合、 TEvent シグナルは、ResetEvent メソッドがオフに切り替えるまでセットされたままになります。ManualReset が false の場合、そのシグナルを単一のスレッドのみが待機し、そのスレッドが解放されたときに、シグナルは自動的にオフに切り替わります。TEvent オブジェクトが作成され、既存の名前付きイベント オブジェクトにアクセスする場合に、ManualReset パラメータは無視されます。
  • InitialState を設定して、TEvent オブジェクトがシグナルが設定された状態で作成されるべきか、オフであるべきかを示します。InitialState が true の場合、TEvent オブジェクトはシグナルが設定された状態で作成されます。TEvent オブジェクトが作成され、既存の名前付きイベント オブジェクトにアクセスする場合に、InitialState パラメータは無視されます。
  • Name を設定して、新しいイベント オブジェクトの名前を提供するか、既存の名前付きイベント オブジェクトを指定します。イベント オブジェクトにアクセスして、シグナルを待機する必要があるスレッドやプロセスが他にない場合は、Name は空のままでも構いません。Name は最大 260 文字の文字列で、バックスラッシュ文字(\)は入れられません。Name が既存のイベント オブジェクトを指定するために使用される場合、値は、既存のイベントの名前と大文字小文字比較もして一致しなければなりません。Name が、既存のセマフォ、ミューテックス、ファイルマッピング オブジェクトの名前と一致する場合、TEvent オブジェクトは、0 に設定された Handle で作成され、すべてのメソッド呼び出しは失敗します。
  • UseCOMWaitTrue に設定すると、スレッドがブロックされてオブジェクトを待っているときでも、任意の STA COM 呼び出しを逆にこのスレッドに対して行うことができます。

第 2 オーバーロード コンストラクタは、UseCOMWait パラメータのみ受け取ります。このコンストラクタはイベントを、null イベント属性、手動リセット、初期状態でシグナルはオフ、および空文字列で作成します。

関連項目