3

不同机器上的 IDE 都是 WinXP。LibXML2.dll从 2010 年到 2012 年,两台机器的版本/日期各不相同。

我正在libxml2.pas从 SourceForge (2.7.3) 安装我在 XE2 上创建了 3 个应用程序、一个控制台和一个 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.

影音讯息

//主要公司使用Libxml2;

{$R *.dfm} 

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

我可以看到模块 LibXML2 已加载。

我是在做傻事还是错过了什么?

4

1 回答 1

7

LIBXML2.DLL本身取决于其他 2 个 DLL:ICONV.DLLZLIB1.DLL

您可以在此处下载这些 dll 的最新版本

确保这些 DLL 驻留在与您的 delphi 可执行文件相同的路径上。

我已经在 W7/Delphi XE 下测试了你的项目,但我没有收到 AV。

于 2013-01-02T13:49:33.383 回答