У меня есть пользовательский элемент управления VB.NET, который сохраняет документ PDF и затем отображает его в элементе управления WebBrowser. Код выглядит так:
Using myPdfDoc As New FileStream(fileName, FileMode.Create)
Dim byt As Byte() = comLib.GetData();
If Not byt Is Nothing Then
myPdfDoc.Write(byt, 0, byt.Length)
myPdfDoc.Flush()
myPdfDoc.Close()
webBrowserCtl.Navigate(fileName)
End If
End Using
comLib - это библиотека взаимодействия COM, написанная на VB6, которая получает соответствующие данные.
Насколько я могу судить, в этом коде хранится ссылка на документ PDF (поскольку VB.NET не закрывается после завершения программы). Я нашел эту статью, которая, кажется, подразумевает, что Adobe не убирает за собой должным образом, но реализация предложенных изменений, кажется, не помогает.
Почему я могу получить такое поведение? В VB6 программа, которая не закрывалась должным образом, всегда была результатом ошибочных ссылок на объекты, которые не были очищены. Это все еще верно в VB.NET? Если да, что я могу сделать, чтобы определить, какой объект или почему это может происходить?