При выполнении resp: = (HTTPRIO как iHttpCust) .Customer (OrdNo) происходит сбой с «Microsoft MSXML не установлен» - PullRequest
0 голосов
/ 04 октября 2019

Работает на Windows 10-64bit, MSXML не устанавливается. Последний MSXML - 6, и он не обновляется, начиная с XP sp3. Попытка установить его на Win 10 не удалась.

Я перерабатываю программу Delphi 2007 в Delphi 10.3.2 Rio. Я импортировал файл WSDL, добавил компонент HTTPRIO и настроил его так же, как и в предыдущей версии. Я создал необходимые звонки и скомпилировал программу. Когда он запускается и пытается выполнить команду (HTTPRIO как xxx), происходит сбой с сообщением MSXML не установлено.

При пропуске вызова и тестировании остальной части программы загружается файл XML с помощью LoadFromFileвместо LoadFromStream обработка XML-файла работает нормально. Я использую XMLParser.

И еще более странно: при запуске старой (delphi 2007) программы, которая работает точно так же и точно так же, на той же машине, что и новая программа, она запускается безсбой.

Разница между ними заключается в том, что я компилирую новую программу на машине с Win 10-64, использую Delphi 10.3.2 Rio и, конечно, с более новой версией компонента HTTPRIO, тогда какстарая программа была создана на компьютере с Vista.

Очевидно, что я что-то упускаю, но не знаю что. Кто-нибудь может помочь? Любая помощь очень ценится.

С уважением Сорен

1 Ответ

0 голосов
/ 05 октября 2019

Я нашел рабочее решение. Вместо этого используйте OmniXML.

Добавление xml.xmldom и xml.omnixmldom к предложению использования, а затем в форму-показе (или создание формы или в любом месте кода перед первым вызовом XML, добавьте строку

DefaultDOMVendor: = sOmniXmlVendor;

* 1006. * Вот и все. Прошло, ошибка MSXML не установлена, и теперь я получаю свой мыльный ответ и имею доступ к веб-сервису. Внимание! Я попытался использовать xml.win.msxmldom и установитьdefaultdomvender для SMSXML, но получал ошибку не установлен.

Я нашел решение, читающее эту страницу: https://delphiaball.co.uk/2014/12/29/setting-default-xml-dom-delphi-xe7/

Спасибо Google и Стивену Боллу в этом случае.

...