System.Win.ComObj.CoInitFlags

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

CoInitFlags: Integer = -1;  // defaults to no threading model, call CoInitialize()

C++

extern DELPHI_PACKAGE int CoInitFlags;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
variable public
System.Win.ComObj.pas
System.Win.ComObj.hpp
System.Win.ComObj System.Win.ComObj


Beschreibung

Legt die Ebene der für eine EXE-Datei eines COM-Servers erforderlichen Threading-Unterstützung fest.

CoInitFlags steuert, wie COM für die Threading-Unterstützung von Nicht-VCL-Anwendungen initialisiert wird. Diese Variable wirkt sich nur auf ausführbare Dateien (.EXE) aus, nicht auf In-Process-Server (.DLL und .OCX).

Normalerweise fügt der Experte, der die COM-Objekte erstellt, automatisch Code zum Initialisieren der Ebene der Threading-Unterstützung in Anwendungen hinzu. In Anwendungen mit mehreren COM-Objekten wird COM für die höchste Unterstützungsebene initialisiert, wobei Einzel-Threading die niedrigste und freies Threading die höchste ist. Um die Ebene der COM-Threading-Unterstützung manuell festzulegen, weisen Sie CoInitFlags in der Hauptquelldatei des Programms einen Wert zu, bevor Sie Application.Initialize aufrufen.

Die folgende Tabelle enthält die Konstanten (definiert in der Unit ActiveX), die zusammen verwendet werden können, um einen Wert für CoInitFlags zu erstellen.


Konstante Wert Bedeutung

COINIT_MULTITHREADED

0

COM ruft Objekte für alle Threads auf (freies Threading).

COINIT_APARTMENTTHREADED

2

Jedes Objekt hat einen eigenen Thread (Apartment-Modell).

COINIT_DISABLE_OLE1DDE

4

DDE für die Ole1-Unterstützung nicht verwenden.

COINIT_SPEED_OVER_MEMORY

8

Eher für Geschwindigkeit als für Speicher optimieren.


Der Wert von CoInitFlags ist für Einzel-Threading –1.

Warnung: Da VCL-Anwendungen immer für STA (Single-Threaded Apartment) ausgeführt werden, kann CoInitFlags deren Verhalten nicht ändern. Verwenden Sie dieses Flag nicht für VCL-Anwendungen.

Siehe auch