Показать сообщение отдельно
Старый 06.03.2013, 11:36   #9  
Bega is offline
Bega
Участник
Аватар для Bega
 
382 / 444 (15) +++++++
Регистрация: 18.08.2005
Адрес: Москва
Почему-то при работе через .NET на клиенте, процесс Excel остается в памяти, даже когда пользователь закрывает Excel. Этот процесс исчезает только с выходом из DAX. Так что если пользователь весь день запускает отчеты, то у него может закончится память, да и некрасиво это.

Сравнивал с аналогичным вызовом через COM, там процесс сразу исчезает после закрытия Excel.

Есть идеи, как это побороть?
Вот код, который воспроизводит проблему (специально вытащил вызовы .NET из классов gl00mie для наглядности):
X++:
Microsoft.Office.Interop.Excel.ApplicationClass application_net = new Microsoft.Office.Interop.Excel.ApplicationClass();
Microsoft.Office.Interop.Excel.Workbooks        workbooks_net;
;
workbooks_net = application_net.get_Workbooks();
workbooks_net.Add("");
application_net.set_Visible(true);