两台分别运行WinXP的机器上有不同版本/日期(从2010到2012)的LibXML2.dll
。
我正在安装来自SourceForge的libxml2.pas
(版本2.7.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.
//主要公司 使用 Libxml2;
{$R *.dfm}
procedure TForm26.FormCreate(Sender: TObject); var Doc: xmlDocPtr;
begin
Doc:=xmlParseFile('c:\a.xml');
xmlFreeDoc(Doc);
end
我看到LibXML2模块已经被加载。
我是做错了什么还是漏掉了什么?