在Windows 10-64位上运行,没有要安装的MSXML。最新的MSXML是6,自XP sp3起未更新。尝试在Win 10上安装它失败。
我正在Delphi 10.3.2 Rio中开发Delphi 2007程序。我已经导入了WSDL文件并添加了HTTPRIO组件,并且以与旧版本相同的方式进行了设置。我已经创建了必要的调用并编译了程序。当它运行并尝试执行(HTTPRIO为xxx)命令时,失败,并没有消息MSXML。
[跳过呼叫并测试程序的其余部分,使用LoadFromFile而不是LoadFromStream加载XML文件,则XML文件的处理工作正常。我正在使用XMLParser。
更奇怪的是:在与新程序相同的计算机上运行完全相同且以相同方式运行的旧(delphi 2007)程序时,它可以正常运行。
两者之间的区别是,我正在使用Delphi 10.3.2 Rio并在Windows 10-64计算机上编译新程序,当然还使用了较新版本的HTTPRIO组件,而旧的rogram是在Vista计算机。
显然,我缺少一些东西,但不知道是什么。有人可以帮忙吗?非常感谢您的帮助。
关于疮
我找到了可行的解决方案。改用OmniXML。
向uses子句中添加xml.xmldom和xml.omnixmldom,然后在formshow(或formcreate或第一次XML调用之前的代码中的任何位置,添加一行)>
DefaultDOMVendor:= sOmniXmlVendor;
就是这样。没有安装MSXML的错误已消失,现在我确实得到了肥皂响应并可以访问Web服务。注意!我确实尝试使用xml.win.msxmldom并将defaultdomvender设置为SMSXML,但始终出现未安装的错误。
我在阅读此页面时找到了解决方案:https://delphiaball.co.uk/2014/12/29/setting-default-xml-dom-delphi-xe7/
在此情况下,感谢Google和Stephen Ball。