大哥大姐们帮小弟看看这个函数,在EXE Project 工程中可以解析XML文件,
但到了DLL Project 工程中就报错,提示:微软MSXML未安装.函数如下:
Function ParseXML(FileName:string;var Skey, return_code,return_msg:string):boolean;
var
InXMLDoc: TXMLDocument;
Root : IXMLNode; //指向XML根结点
Parent_Node: IXMLNode; //指向第一层子结点
begin
InXMLDoc := TXMLDocument.Create(application);
Try
InXMLDoc.LoadFromFile(FileName);
Root := InXMLDoc.DocumentElement; //取XML文件的根结点,即“TX”
Parent_Node := Root.ChildNodes.First; //使Parent_Node指向Templates 结点
while (Parent_Node <> nil) do //循环取多个Templates
begin
if Parent_Node.NodeName = 'SKEY' then Skey:=Parent_Node.text;
if Parent_Node.NodeName ='RETURN_CODE' then return_code :=Parent_Node.Text;
if Parent_Node.NodeName ='RETURN_MSG' then return_msg :=Parent_Node.Text;
Parent_Node := Parent_Node.NextSibling; //顺序取下一个节点信息
end;
Finally
InXMLDoc.Free;
end;
end;请帮我看看,很急!!!
但到了DLL Project 工程中就报错,提示:微软MSXML未安装.函数如下:
Function ParseXML(FileName:string;var Skey, return_code,return_msg:string):boolean;
var
InXMLDoc: TXMLDocument;
Root : IXMLNode; //指向XML根结点
Parent_Node: IXMLNode; //指向第一层子结点
begin
InXMLDoc := TXMLDocument.Create(application);
Try
InXMLDoc.LoadFromFile(FileName);
Root := InXMLDoc.DocumentElement; //取XML文件的根结点,即“TX”
Parent_Node := Root.ChildNodes.First; //使Parent_Node指向Templates 结点
while (Parent_Node <> nil) do //循环取多个Templates
begin
if Parent_Node.NodeName = 'SKEY' then Skey:=Parent_Node.text;
if Parent_Node.NodeName ='RETURN_CODE' then return_code :=Parent_Node.Text;
if Parent_Node.NodeName ='RETURN_MSG' then return_msg :=Parent_Node.Text;
Parent_Node := Parent_Node.NextSibling; //顺序取下一个节点信息
end;
Finally
InXMLDoc.Free;
end;
end;请帮我看看,很急!!!
把它加上就行了。DELPHI生成的APPLICATION,会缺省在主线程调用Coinitlize。。