System.Win.ComObj.CoInitFlags

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

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

C++

extern DELPHI_PACKAGE int CoInitFlags;

Propriétés

Type Visibilité  Source Unité  Parent
variable public
System.Win.ComObj.pas
System.Win.ComObj.hpp
System.Win.ComObj System.Win.ComObj


Description

Indique le niveau de gestion de threads requis pour un .EXE de serveur COM.

CoInitFlags contrôle la manière dont COM est initialisé pour la gestion de threads avec des applications non VCL. Cette variable n’affecte que les exécutables (.EXE), et non les serveurs in-process (.DLL et .OCX).

Généralement, l'expert qui crée les objets COM ajoute automatiquement le code pour initialiser le niveau de la gestion de threads dans votre application. Dans des applications contenant plusieurs objets COM, le COM est initialisé pour le niveau le plus élevé de gestion, où le thread unique est le plus bas niveau et le thread libre le plus haut niveau. Pour définir manuellement le niveau de la gestion de threads COM, affectez une valeur à CoInitFlags dans le fichier source principal du programme avant l’appel à Application.Initialize.

Le tableau suivant énumère les constantes (définies dans l’unité ActiveX) pouvant être organisées ensemble pour créer la valeur de CoInitFlags.


Constante Valeur Signification

COINIT_MULTITHREADED

0

COM appelle les objets sur n’importe quel thread (thread libre)

COINIT_APARTMENTTHREADED

2

Chaque objet a son propre thread (modèle cloisonné)

COINIT_DISABLE_OLE1DDE

4

DDE ne doit pas être utilisé pour la gestion Ole1.

COINIT_SPEED_OVER_MEMORY

8

Optimisation pour la vitesse plutôt que pour la mémoire.


La valeur de CoInitFlags est –1 pour un thread unique.

Avertissement: Comme les applications VCL sont toujours exécutées sur STA, CoInitFlags ne peut pas changer leur comportement. Veuillez ne pas utiliser cet indicateur pour une application VCL.

Voir aussi