Search code examples
c#pdfaxacropdf

axAcroPDFLib at closing problem C#


Im using a axAcroPDFLib control taken from a Adobe Reader 9 installation to show and print user PDF documents within my C# window forms application. Everything works just fine untill the appication close...

It throws the following error:

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

My FormClosing method is quite simple and i think is wrong, but i didn't know how to do it in the right way:

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

        }
    }

thanks in advance for any idea


Solution

  • I just figured out how to close the application properly:

        [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(); 
            }
        }
    

    with this, no error is thrown :D