在Windows 10-64位上运行,没有要安装的MSXML。最新的 MSXML 是 6,自 XP sp3 以来未更新。尝试在 Win 10 上安装它失败。
我正在德尔福 10.3.2 里约重新开发德尔福 2007 程序。我已经导入了WSDL文件并添加了一个HTTPRIO组件,并以与旧版本相同的方式设置了它。我已经创建了必要的调用并编译了程序。当它运行并尝试执行(HTTPRIO 作为 xxx(命令时,失败并显示消息 MSXML 未安装。
当跳过调用并测试程序的其余部分时,使用 LoadFromFile 而不是 LoadFromStream 加载 XML 文件时,XML 文件的处理工作正常。我正在使用XMLParser。
更奇怪的是:当运行旧的(delphi 2007(程序时,该程序在与新程序相同的机器上以完全相同的方式运行,它运行而不会失败。
两者之间的区别在于,我在Win 10-64机器上编译新程序,使用Delphi 10.3.2 Rio,当然还有较新版本的HTTPRIO组件,而旧的rogram是在Vista机器上创建的。
显然我错过了一些东西,但不知道是什么。有人可以帮忙吗?任何帮助都非常感谢。
问候 索伦
我找到了一个可行的解决方案。改用 OmniXML。
将 xml.xmldom和 xml.omnixmldom 添加到 uses 子句中,然后在 formhow(或 formcreate 或代码中第一次 XML 调用之前的任何位置(中添加一行
DefaultDOMVendor := sOmniXmlVendor;
就是这样。MSXML未安装错误消失了,现在我确实得到了肥皂响应并可以访问Web服务。铌!我确实尝试使用 xml.win.msxmldom 并将默认 domvender 设置为 SMSXML,但不断收到未安装错误。
我在阅读此页面时找到了解决方案:https://delphiaball.co.uk/2014/12/29/setting-default-xml-dom-delphi-xe7/
在这种情况下,感谢谷歌和斯蒂芬鲍尔。