Question

J'ai un objet COM écrit en utilisant la bibliothèque MS ATL. J'ai déclaré un tas d'énumérations dans l'IDL, mais elles n'apparaissent PAS lorsque vous visualisez la bibliothèque de types à l'aide de l'outil MS COM Object Viewer. Le problème semble être que les énumérations manquantes ne sont pas réellement utilisées comme paramètres par aucune des méthodes COM. Comment puis-je forcer ces énumérations à apparaître?

Par exemple, dans l'IDL:

// Used by Foo method, so appears in the type library
typedef enum FOO
{
    FOO_1,
    FOO_2,
} FOO;

// Not used by any method, so won't appear in the type library
typedef enum BAR
{
    BAR_1,
    BAR_2,
} BAR;

[id(1)] HRESULT Foo([in] FOO eFoo);

Même si les méthodes en question ne sont directement utilisées par aucune méthode, elles seront néanmoins utiles à toute personne utilisant l'objet, mais je ne parviens pas à les exporter.

Quelqu'un a-t-il déjà vu cela auparavant?

Était-ce utile?

La solution

Les avez-vous mis dans la section bibliothèque de l'IDL? Seuls les types mentionnés dans la section bibliothèque sont placés dans le TLB.

library MyLib {
    // ...
    enum BAR;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top