我有一个使用MS ATL库编写的COM对象.我在IDL中声明了一堆枚举,但在使用MS COM对象查看器工具查看类型库时它们不会出现.问题似乎是缺少的枚举实际上并没有被任何COM方法用作参数 - 我如何强制这些枚举出现?
例如,在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);
Run Code Online (Sandbox Code Playgroud)
即使所讨论的枚举没有被任何方法直接使用,它们对使用该对象的任何人仍然有用,但我不能让它们导出.
谁看过这个吗?
Mot*_*tti 14
你把它们放在libraryIDL 的部分了吗?只有本library节中提到的类型才会进入TLB.
library MyLib {
// ...
enum BAR;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4457 次 |
| 最近记录: |