Взрыв памяти надстройки Excel - PullRequest
1 голос
/ 03 мая 2010

Я написал небольшое дополнение .NET для Excel 2007, которое считывает данные из внешнего API C ++ и отображает их в Excel.
Диспетчер задач показывает, что у меня утечка памяти (использование памяти линейно раздувается до 250 МБ после того, как выдается «Excel не может выполнить эту задачу с ошибкой доступных ресурсов»), но проблема исчезает, как только я минимизирую Excel окно.

API использует делегаты для возврата данных, и я обновляю их в словарь. другая нить обновляет Excel из словаря каждую секунду.

Маловероятно, что неуправляемый код ответственен за утечку.

Кто-нибудь знает, что может вызвать это?

10x!

1 Ответ

0 голосов
/ 03 мая 2010

Я нашел проблему. Я обновлял ячейки, устанавливая свойство Formula, которое занимает больше времени. Excel не удалось своевременно завершить все обновления, и стек вырос. После того, как я изменил способ обновления ячеек на set_value, все стало в порядке.

Спасибо всем.

...