3

別のマシン上の IDE は両方とも WinXP です。バージョン/日付はLibXML2.dll、2010 年から 2012 年までの両方のマシンで異なります。

SourceForge (2.7.3) からインストールlibxml2.pasしています。XE2 ではコンソールと VCL フォーム、D2007 では VCL フォームの 3 つのアプリを作成しました。

アプリの実行で関数を参照しない場合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 メッセージ

//メイン ファームは 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.DLLおよびZLIB1.DLL

これらのdllの最新バージョンはここからダウンロードできます

これらのDLLがdelphi実行可能ファイルと同じパスにあることを確認してください。

W7 / Delphi XEでプロジェクトをテストしましたが、AVを受け取りません。

于 2013-01-02T13:49:33.383 に答える