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 サーバーの .EXE に求められるスレッド サポートのレベルを指定します。
CoInitFlags は、COM を非 VCL アプリケーション用スレッド サポートのために初期化する方法を制御します。 この変数は、実行可能ファイル(.EXE)のみに影響し、インプロセス サーバー(.DLL や .OCX)には影響しません。
通常、COM オブジェクトを作成するウィザードは、アプリケーションでのスレッド サポートのレベルを初期化するコードを自動的に追加します。 複数の COM アプリケーションを固有するアプリケーションでは、COM は、最高レベルのサポートで初期化されます。ここでは、シングル スレッドが一番低く、フリー スレッドが一番高くなります。 手動で、COM のスレッド サポートのレベルを設定するには、Application.Initialize への呼び出しの前に、プログラムのメイン ソース ファイル内で CoInitFlags に値を割り当てます。
次の表は、CoInitFlags の値を作成するために一緒に使用できる、ActiveX ユニットで定義されている定数の一覧です。
定数 | 値 | 意味 |
---|---|---|
COINIT_MULTITHREADED |
0 |
COM は任意のスレッド上でオブジェクトを呼び出す(フリー スレッド) |
COINIT_APARTMENTTHREADED |
2 |
各オブジェクトは、それぞれ自分のスレッドを持つ(アパートメント モデル) |
COINIT_DISABLE_OLE1DDE |
4 |
DDE を Ole1 サポートに使用しない |
COINIT_SPEED_OVER_MEMORY |
8 |
メモリより速度優先で最適化する |
CoInitFlags の値は、シングル スレッドの場合 –1 です。