【发布时间】:2015-10-01 07:07:11
【问题描述】:
当我使用 MSXML DOM 解析器加载 XML 数据并且出现错误时,IXMLDOMDocument.parseError 包含错误代码和错误消息。错误消息已本地化(即德语 Windows 安装上的德语)。
无论操作系统安装语言如何,都可以获得非本地化的英文消息吗?可能是通过使用某些 COM API 函数手动将错误代码转换为字符串,或者将某些应用程序范围的语言模式设置为英语/美国?
【问题讨论】:
-
我肯定不会相信包含技术信息的自动翻译错误消息 - 那是要求翻译错误。正如您还说的,它返回 Windows 的本地化语言 - 无论当前有效的语言包是什么。您最好的办法是创建您自己的翻译并将它们与您的应用程序一起分发,并让用户选择使用哪种语言。事实是 - 本地化的 Windows 中不存在您想要的语言的错误消息。如果您有德语 Windows,它应该返回德语消息。
-
我很想知道你为什么要这样做。
-
如果您的问题是来自不同客户端的错误报告,以便您可以调试他们的问题,那么这就是错误代码的用途。错误代码永远不会改变,您可以用任何语言解释它们的含义。
-
是的,我希望能够向客户端询问日志输出并解释错误消息。关于记录错误代码:如何在我的开发计算机上手动查找错误代码消息?有一些API函数吗?我尝试使用
FormatMessage,但它不适用于 MSXML 错误代码,仅适用于GetLastError()返回的代码。
标签: xml delphi error-handling localization msxml