Подскажите если кто знает.
Есть у меня Word COM AddIn добавляющий свой тулбар.
Word при закрытии стал сохрянять normal.dot и это происходит очень долго.
Если плагин отключаю — то закрывается мгновенно. С чужими плагинами (исходников нету) такого не наблюдал.
У меня реализован по большому счету только метод OnConnection.
Из чего может так все тормозить? Можно ли это исправить?
И еще вопрос. Можно ли какнибудь выяснить что меня вызывли именно из ворда/экселя/...
кроме как использование конструкции:
STDMETHODIMP CConnect::OnConnection (IDispatch * Application
{
CComQIPtr <PowerPoint::_Application> spAppTest1(Application);
CComQIPtr <Word::_Application> spAppTest2(Application);
CComQIPtr <Excel::_Application> spAppTest3(Application);
if (spAppTest1 != NULL)
if (spAppTest2 != NULL)
if (spAppTest3 != NULL)
?
Заранее спасибо.
Hi All,
Нашел тему и решил свой вопрос задать

Удаляю я в OnDisconnection или в OnBeginShutdown (без разницы — не работает) свое меню из трех пунктов
variant_t vtMenuType(Office::msoControlPopup);
_variant_t vtMenuTemp(VARIANT_TRUE);
_variant_t vtMainTag(PDF_MENU_MAIN_TAG);
__CommandBarsPtr spCmdBars = NULL;
_Get_App(spCmdBars, m_spApp);
Office::CommandBarPtr spCmdBar = spCmdBars->GetActiveMenuBar();
spCmdBar->GetControls()->GetItem(g_Local.LocalizeString(PDF_MENU_NAME))->Delete(vtMenuTemp);
CommandMenuItem1Events::DispEventUnadvise((IDispatch*)m_spMenuItem1);
CommandMenuItem2Events::DispEventUnadvise((IDispatch*)m_spMenuItem2);
CommandMenuItem3Events::DispEventUnadvise((IDispatch*)m_spMenuItem3);
m_spMenuItem1 = NULL;
m_spMenuItem2 = NULL;
m_spMenuItem3 = NULL;
написал ф-ию которая выводит в оутпут дебагера все пункты меню. Вызываю ее после даного кода (после удаления меню) — не показывает моего меню, количество меню на единицу меньше чем было — все признаки того, что меню нету. Но! если опять загружаю меню, оно есть (это показывает та самая функция распечатки всех пунктов меню и количество элементов меню увеличено на один). Если удалить normal.dot — все в порядке. Если делать, как проситал здесь в форуме
spApp->NormalTemplate->Saved = VARIANT_TRUE
(этот код я вставляю после своего удаления меню перед выходом c OnBeginShutdown или OnDisconnection)
Кто, что посоветует? Заранее благодарен!