2009-08-31 6 views
7

Adobe Reader 9 설치에서 가져온 axAcroPDFLib 컨트롤을 사용하여 C# 창 폼 응용 프로그램에서 사용자 PDF 문서를 표시하고 인쇄합니다. 모든합니다 ... appication 가까이 전까지 잘 작동axAcroPDFLib 종료 문제 C#

그것은 다음과 같은 오류가 발생합니다 :

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 년 한 dll을 사용하여 유사한 오류가 발견되었다. 나는 닮은 것을보고 내 문제와 동일한 해결책을 적용했다. 하지만 그 전에 나는 weeks을 낭비했다. – Hector

+0

이것은 작동하지 않습니다! 그것은 axAcroPDF1.Dispose()에 걸려있다; –