我使用从Adobe Reader 9安装中获取的axAcroPDFLib控件来在我的C#窗体表单应用程序中显示和打印用户PDF文档。一切正常,直到申请结束......
它会抛出以下错误:
“0x0700609c”处的指令 在“0x00000014”处引用了内存。该 内存无法读取
我的FormClosing方法非常简单,我认为是错误的,但我不知道如何以正确的方式做到这一点:
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
if (axAcroPDF1 != null)
{
axAcroPDF1.Dispose();
}
}
提前感谢任何想法
答案 0 :(得分:11)
我刚刚想出了如何正确关闭应用程序:
[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