gpt4 book ai didi

xml - 使用MSXML加载XML时如何获得英语错误消息

转载 作者:行者123 更新时间:2023-12-03 18:30:56 24 4
gpt4 key购买 nike

当我使用MSXML DOM解析器加载XML数据时,出现错误IXMLDOMDocument.parseError包含错误代码和错误消息。错误消息已本地化(即在德语Windows安装中为德语)。

不论操作系统安装语言如何,都有可能获得非本地化的英语消息?也许是通过使用某些COM API函数将错误代码手动转换为字符串,或者将某些应用程序范围的语言模式设置为英语/美国?

最佳答案

找到了一些解决方案,使我可以将错误代码转换为中性(英语)错误消息。显然,这些字符串作为消息表资源存储在msxml6r.dll.mui路径下面某个与语言相关的子文件夹中的C:\Windows\System32文件中。因此,我将文件从具有英语本地化的计算机上复制到了我的应用程序文件夹中,并使用以下功能查找给定错误代码的错误消息:

function GetMsXmlErrorStr( const ErrorCode : Integer ) : WideString;
var
Module : tHandle;
MsgBuf : pWideChar;
MsgLen : Integer;
begin
Module := LoadLibrary('msxml6r.dll.mui');
if ( Module <> 0 ) then
begin
MsgBuf := nil;
MsgLen := FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER or FORMAT_MESSAGE_FROM_HMODULE,
Pointer(Module), ErrorCode, 0, @MsgBuf, 0, nil);
if ( MsgLen > 0 ) then
SetString(result, MsgBuf, MsgLen);
LocalFree(HLocal(MsgBuf));
FreeLibrary(Module);
end;
end;

关于xml - 使用MSXML加载XML时如何获得英语错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32881379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com