System.Win.ComObj.CoInitFlags
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 serveur .EXE COM.
CoInitFlags contrôle la manière dont le COM est initialisé pour la gestion de threads. Cette variable n'affecte que les exécutables (.EXE), et non les serveurs en processus (.DLL et .OCX).
Généralement le code pour initialiser le niveau de la gestion de threads est automatiquement ajouté par l'expert créant l'objet COM 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 de logement) |
COINIT_DISABLE_OLE1DDE |
4 |
N'utilise pas le DDE pour la gestion Ole1. |
COINIT_SPEED_OVER_MEMORY |
8 |
Optimise pour la vitesse plutôt que pour la mémoire. |
La valeur de CoInitFlags est –1 pour un thread unique.