2013-01-02 150 views
3

獨立機器上的IDE都是WinXP。的LibXML2.dll版本/日期在兩臺機器有所不同,從2010年至2012年Delphi XE2/2007和LibXML

我從SourceForge(2.7.3)安裝libxml2.pas我在3個應用程序,一個控制檯和一個XE2 VCL形態與D2007一個VCL形式。

如果我沒有引用Libxml2.dll我的應用程序運行的功能,如果我參考了功能 例如Doc:=xxmlParseFile(xnldocptr)該應用在InitUnits啓動時崩潰。

program Project25; 

uses 
    Forms, 

     Unit26 in 'Unit26.pas' {Form26}; 

    {$R *.res} 


begin<---------- Access violation here 
    Application.Initialize; 
    Application.MainFormOnTaskbar := True; 
    Application.CreateForm(TForm26, Form26); 
    Application.Run; 
end. 

AV Message

//主事務所 使用的libxml2;

{$R *.dfm} 

procedure TForm26.FormCreate(Sender: TObject); var Doc: xmlDocPtr; 
begin 
Doc:=xmlParseFile('c:\a.xml'); 
xmlFreeDoc(Doc); 
end 

我可以看到模塊LibXML2已經加載。

我是在做一些愚蠢的事情還是失去了一些東西?

+0

使用Libxml2; {$ R * .dfm} procedure TForm26.FormCreate(Sender:TObject); var Doc:xmlDocPtr; 開始 Doc:= xmlParseFile('c:\ a.xml'); xmlFreeDoc(Doc); 結束; – Ephraim

+1

如果a.xml沒有被修復,你會意識到Doc可以爲零嗎?你可以編輯你的問題,並添加您收到的精確錯誤? – whosrdaddy

+0

你錯過了一點yje應用程序永遠不會達到這個代碼ub dor – Ephraim

回答

6

LIBXML2.DLL本身取決於2其他DLL的:ICONV.DLLZLIB1.DLL

您可以下載最新版本的這些dll的here

確保這些DLL的駐留爲你的Delphi可執行文件相同的路徑上。

我已經在W7/Delphi XE下測試過你的項目,我沒有收到AV。

+0

進步,但不完全在那裏。依賴Walker顯示thtat MSVCR90.dll丟失。 XE2機器正在工作.Thx。 – Ephraim