我正在尝试使用 midl 编译器创建 microsoft word COM C++ 接口定义。我使用 oleview.exe 将“Microsoft Word 14.0 对象库”(MSWORD.OLB) 保存到名为 MSWORD.idl 的文件中。
编译此 idl 文件时出现错误。例如:
.\msword.idl(3932):错误 MIDL2025:语法错误:期望“单一”附近的类型规范
我已经通过以下方式解决了这个问题:
typedef float single;
然后显示下一个错误:
.\msword.idl(4004):错误 MIDL2025:语法错误:期望“WdDocumentMedium”附近的类型规范
4004 附近的行:
[id(0x0000019e), helpcontext(0x0970019e)]
HRESULT SetDefaultTheme(
[in] BSTR Name,
[in] WdDocumentMedium DocumentType);
WdDocumentMedium
被定义为枚举,但在此行之后。
另一个未定义的枚举是MsoLanguageID
.
使用 word 中的 Visual Basic 编辑器,我使用对象浏览器检查了必要的库。