System.Win.ComObj.CoInitFlags
Delphi
CoInitFlags: Integer = -1; // defaults to no threading model, call CoInitialize()
C++
extern DELPHI_PACKAGE int CoInitFlags;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
variable | public | System.Win.ComObj.pas System.Win.ComObj.hpp |
System.Win.ComObj | System.Win.ComObj |
説明
COM サーバーの実行形式ファイル対して要求されたスレッドサポートのレベルを指定します。
CoInitFlags は,COM がスレッドサポートに対して初期化される方法を制御します。この変数は実行形式ファイル(EXE)にのみ影響し,インプロセスサーバー(DLL と OCX)には影響しません。
通常,スレッドサポートのレベルを初期化するコードは,アプリケーションで COM オブジェクトを作成するウィザードによって自動的に追加されます。複数の COM オブジェクトを含むアプリケーションでは,COM はサポートの最高レベルに初期化され,シングルスレッドが最低,フリースレッドが最高になります。COM スレッドサポートのレベルを手動で設定するには,Application.Initialize を呼び出す前に,プログラムのメインソースファイルで CoInitFlags に値を代入します。
以下の定数(ActiveX ユニットで定義されたもの)は,or で組み合わせて CoInitFlags の値を作成できます。
定数 | 値 | 意味 |
---|---|---|
COINIT_MULTITHREADED |
0 |
COM はどのスレッドのオブジェクトでも呼び出す(フリースレッド) |
COINIT_APARTMENTTHREADED |
2 |
各オブジェクトはそれぞれのスレッドを持つ(アパートメントモデル) |
COINIT_DISABLE_OLE1DDE |
4 |
Ole1 サポートに対しては DDE を使用しない |
COINIT_SPEED_OVER_MEMORY |
8 |
メモリではなくスピードを最適化する |
CoInitFlags の値は,シングルスレッドの場合は -1 です。