从IDL编译类型库时出现问题

时间:2019-06-17 09:03:08

标签: c++ c midl oleview

我已经使用Ole View从tlb文件创建了一个idl文件,我想进行一些编辑并将其转换回tlb文件。但是,即使在我进行任何编辑之前,idl文件也不会重新编译回tlb。

它抱怨下一行

只是尝试使用带有各种选项的MIDL重新编译,但总是得到相同的响应

“错误MIDL2025:语法错误:期望在“ AssayASTM_D2887ConversionType_enum”附近输入类型规范

typedef enum {
    D2887_API1987 = 0,
    D2887_API1994Indirect = 1,
    D2887_API1994Direct = 2
} AssayASTM_D2887ConversionType_enum;

[
  odl,
  uuid(2C4BD201-0144-11D5-85EA-0090271CD5E9),
  helpstring("Oil Manager"),
  helpcontext(0x00000338),
  dual,
  oleautomation
]
interface OilManager : _OilManager2 {
    [id(0x60070000), propget, helpstring("Default D2887 curve type")]
    HRESULT DefaultD2887Type([out, retval] AssayASTM_D2887ConversionType_enum* retval);
    [id(0x60070000), propput, helpstring("Default D2887 curve type")]
    HRESULT DefaultD2887Type([in] AssayASTM_D2887ConversionType_enum* retval);
    [id(0x60070002), propget, helpstring("The basis for ibp & fbp")]
    HRESULT IbpFbpBasis([out, retval] IbpFbpBasisEnum_enum* retval);
    [id(0x60070002), propput, helpstring("The basis for ibp & fbp")]
    HRESULT IbpFbpBasis([in] IbpFbpBasisEnum_enum retval);
};

0 个答案:

没有答案