System.Win.ComObj.CoInitFlags

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

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 です。

警告: VCL アプリケーションは常に STA で実行されるため、CoInitFlags はそれらの動作を変更することはできません。 このフラグは VCL アプリケーションには使用しないでください。

関連項目