2008-09-24 13 views
6

私は、MS ATLライブラリを使用して記述されたCOMオブジェクトを持っています。私はIDLで列挙の束を宣言しましたが、MS COMオブジェクトビューアツールを使用してタイプライブラリを表示しても表示されません。問題は、行方不明の列挙型が実際にCOMメソッドのいずれかのパラメータとして使用されていないことです - どのようにこれらの列挙型を表示させることができますか? IDLで例えば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); 

、彼らはまだオブジェクトを使用して誰にも有用であろうが、私は得ることができませんそれらを輸出する。

誰もこれまで見たことがありますか?

答えて

13

IDLのlibraryセクションに入力しましたか? libraryセクションに記載されているタイプのみがTLBに入ります。

library MyLib { 
    // ... 
    enum BAR; 
+0

これはトリックでした!ありがとうございました。 – Rob

+0

よろしくお願いします。何を知っていますか、StackOverflowは実際に人々が助けを見つけるのを助けます! :o) – Motti

+0

偉大な探して同じだけ – thatsalok

関連する問題