Доброе утро, мне нужно проверить XML на соответствие его XSD (синтаксический анализ);Я использую Delphi 7 на машине с Win7 Virtualbox.Я нашел примеры и объяснения в Интернете.Я выбрал этот пример, который мне показался простым и правильным:
procedure TForm1.Button1Click(Sender: TObject);
var XML, XSDL: Variant;
begin
XSDL := CreateOLEObject('MSXML2.XMLSchemaCache.4.0');
XSDL.validateOnLoad := True;
XSDL.add('','C:\Lavoro\Fattura_Elettronica_PRIVATI\Schema_del_file_xml_FatturaPA_versione_1.2.1.xsd');
ShowMessage('Schema Loaded');
XML := CreateOLEObject('MSXML2.DOMDocument.4.0');
XML.validateOnParse := True;
XML.resolveExternals := True;
XML.schemas := XSDL;
XML.load(Edit1.Text);
ShowMessage(XML.parseError.reason);
end;
Но функция «CreateOLEObject» вызывает класс исключения EOleSysError с сообщением «строка интерфейса недопустима» (перевод итальянского).В пункте использования я вставил «OleCtnrs, ComObj, xmldom, XMLIntf, msxmldom, XMLDoc, MSXML2_TLB».Почему это исключение?Спасибо за ваш ответ.