Dim xcl As Excel.Application
xcl = New Excel.Application
xcl.Workbooks.Add()
'..... filling file......
xcl.Visible = True
xcl.UserControl = True
xcl.Interactive = True
xcl = Nothing
Передача в EXCEL жрет оперативку
Пишу на Visual Basic 2008 Express Edition
Использую Interop.Excel.dll
Код:
Каждый вызов создает в оперативке процесс EXCEL.EXE, который уничтожается только при выходе из прикладухи (если юзер закрывает файл, процесс не уничтожается)
15 раз запустил импорт - 15 процессов EXCEL.EXE в оперативке получил :(
как его корректно кильнуть
заранее спасибо
Хорошая практика вызывать метод Dispose после работы с такими объектами.
З.Ы. Это частое заблуждение новичков в том, что присвоение переменной значения null вызывает финализатор объекта. Этого не происходит, поверьте.
Я раньше тоже боролся с этой проблемой и вот недавно нашел причину. Написал о решении у себя в блоге