2009-08-31 56 views
7

Adob​​e Reader 9のインストールから取得したaxAcroPDFLibコントロールを使用して、C#ウィンドウフォームアプリケーション内にユーザーのPDFドキュメントを表示および印刷します。すべてがaxAcroPDFLib終了時の問題C#

...それまではappication近いだけで正常に動作これは、次のエラーがスローされます。

The instruction at "0x0700609c" referenced memory at "0x00000014". The memory could not be read

マイFormClosing方法は非常に簡単ですし、私が間違っていると思うが、私はそれを行う方法を知りませんでした正しい方法で:任意のアイデア

答えて

11

を事前に

private void Form2_FormClosing(object sender, FormClosingEventArgs e) 
    { 
     if (axAcroPDF1 != null) 
     { 
      axAcroPDF1.Dispose(); 

     } 
    } 

おかげで私はちょうど適切にアプリケーションを終了する方法を考え出し:

これで
[System.Runtime.InteropServices.DllImport("ole32.dll")] 
    static extern void CoFreeUnusedLibraries(); 

    private void Form2_FormClosing(object sender, FormClosingEventArgs e) 
    { 
     if (axAcroPDF1 != null) 
     {         
      axAcroPDF1.Dispose();     
      System.Windows.Forms.Application.DoEvents(); 
      CoFreeUnusedLibraries(); 
     } 
    } 

は、エラーがスローされない:D

+0

すばらしい、良い見つけます!私はしばらくこのことに苦しんできましたが、どこで答えを見つけましたか? – Siyfion

+0

私はそれを見つけた場所を覚えていません... 紛失したウェブサイトでは、2003年の1つのDLLを使用して同様のエラーが発生しました。私は類似点を見て、私の問題と同じ解決策を適用しました。 しかしその前に、私はWEEKSを無駄にしました。 – Hector

+0

これは動作しません! axAcroPDF1.Dispose();にハングします。 –

関連する問題