System.Win.ComObj.CoInitFlags
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.