axAcroPDFLib at closing problem C#

hecvd picture hecvd · Sep 1, 2009 · Viewed 13.3k times · Source

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

Answer

hecvd picture hecvd · Sep 1, 2009

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