Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Передача в EXCEL жрет оперативку

34K
19 марта 2008 года
!ZedeS!
4 / / 18.03.2008
Проблема при передаче данных из приложения в EXCEL
Пишу на Visual Basic 2008 Express Edition
Использую Interop.Excel.dll

 
Код:
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.EXE, который уничтожается только при выходе из прикладухи (если юзер закрывает файл, процесс не уничтожается)
15 раз запустил импорт - 15 процессов EXCEL.EXE в оперативке получил :(
как его корректно кильнуть
заранее спасибо
5
19 марта 2008 года
hardcase
4.5K / / 09.08.2005
Должно быть Excel.Application класс поддерживает интерфейс IDisposable.
Хорошая практика вызывать метод Dispose после работы с такими объектами.

З.Ы. Это частое заблуждение новичков в том, что присвоение переменной значения null вызывает финализатор объекта. Этого не происходит, поверьте.
50K
22 мая 2009 года
Александр Бындю
1 / / 22.05.2009
Я раньше тоже боролся с этой проблемой и вот недавно нашел причину. Написал о решении у себя в блоге http://blog.byndyu.ru/2009/05/excelexe-interopexcel.html
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог