2014-09-02 3 views
0

내 응용 프로그램이 C++ 빌더 XE3을 사용하여 작성되었습니다. 내 응용 프로그램에서 XML.xmldoc.hpp를 사용하여 일부 xml 구문 분석을 수행했습니다.응용 프로그램 오류 표시 Microsoft MsXml이 설치되어 있지 않습니다.

XP 시스템에서 응용 프로그램을 실행하면 메시지 상자가 나타납니다. "Microsoft msxml이 설치되지 않았습니다."

제발 아무도 도와 줄 수 있습니까 ??

답변

0

는 Problably 당신은 약간의 오해의 소지가 (Windows 7과 표준)을 msxml6.dll 설치

XP가 msxml4.0

link download

+0

나는 잘 작동하는 다른 응용 프로그램을 가지고 있습니다. 그래서 처음에는 xe3의 정적 링크 xmlrtl.bpi 파일을 응용 프로그램에 연결해야한다고 생각했습니다. .. 나는 그것을했다. 그러나 또한 그것은 일하지 않고있다. . 내 다른 응용 프로그램 msxml6.dll 사용하고 있지만 여전히 잘 작동하고 있습니다. – Anup

+0

엠바 카데로의 MSXML 지원은 v6에서 시작하여 하나가 성공하거나 모두 실패 할 때까지 필요에 따라 이전 버전을로드 할만큼 똑똑합니다. –

+0

성명서에 오류가 있습니다. . _di_IXMLDocument pDoc = NewXMLDocument (L "1.0"); – Anup

2

오류 메시지와 함께 일을 찾을 필요가있다. MSXML이 전혀 설치되어 있지 않다는 의미는 아닙니다. MSXML은 COM을 사용하며 오류 메시지는 실제로 CoCreateInstance() (및 TXMLDocument의 MSXML DOMVendor는 여러 가지 다른 버전의 MSXML 인스턴스를 포기하려고 시도 함)을 통해 MSXML COM 개체를 인스턴스화 할 수 없다는 것을 의미합니다. 이것은 미묘하지만 중요한 차이점입니다. 예를 들어, 작업자 스레드에서 XMLDocument를 사용하는 경우 미리 CoInitialize/Ex()을 호출해야합니다. C++ Builder는 기본 UI 스레드에서이를 처리하지만 작업자 스레드에서 수동으로 수행해야합니다.

+0

이 문제를 해결해 주셔서 감사합니다. 내 하루 만들었 어. – TomB

관련 문제