У меня есть COM AddIn для PowerPoint, который содержит две панели задач.Во всех версиях, за исключением 64-разрядной версии PowerPoint 2016, мы не видели никаких проблем, но в этой версии PowerPoint зависает (на наших компьютерах и на клиентских компьютерах) при запуске.
Я написал небольшую надстройку для тестирования, которая ничего не делает.с двумя панелями задач, которые демонстрируют одинаковое поведение, то есть это нормально для PowerPoint 2010, 2013 (все версии) и PowerPoint 2016 (32-битная версия), но зависает в PowerPoint 2016. Я вставил некоторую диагностическую OutputDebugString в различные события панели задач и вижу следующее вжурнал DebugView ...
PowerPoint 2013 and 2016(32)
============================
00000002 4.34796715 [3864] TaskPaneBeforeCreate
00000003 4.46064138 [3864] Initialise TaskPane1
00000004 4.50027180 [3864] TaskPaneAfterCreate: TL="TaskPane1"
00000005 4.50116539 [3864] TaskPaneBeforeShow: TL="TaskPane1"
00000006 4.52554655 [3864] TaskPaneAfterShow: TL="TaskPane1"
00000007 4.52557039 [3864] TaskPaneBeforeCreate
00000008 4.53154325 [3864] Initialise TaskPane2
00000009 4.53265429 [3864] TaskPaneAfterCreate: TL="TaskPane2"
00000010 4.53280926 [3864] TaskPaneBeforeShow: TL="TaskPane2"
00000011 4.53707695 [3864] TaskPaneAfterShow: TL="TaskPane2"
PowerPoint 2016(64)
============================
00000002 4:42:28.674 PM [9932] TaskPaneBeforeCreate
00000003 4:42:28.719 PM [9932] Initialise TaskPane1
00000004 4:42:28.729 PM [9932] ActivateEvent TaskPane1
00000005 4:42:28.729 PM [9932] TaskPaneAfterCreate: TL="TaskPane1"
00000006 4:42:28.730 PM [9932] TaskPaneBeforeShow: TL="TaskPane1"
00000007 4:42:28.753 PM [9932] TaskPaneAfterShow: TL="TaskPane1"
00000008 4:42:28.763 PM [9932] TaskPaneBeforeCreate
00000009 4:42:28.765 PM [9932] Initialise TaskPane2
00000010 4:42:28.765 PM [9932] DeactivateEvent TaskPane1
00000011 4:42:28.791 PM [9932] ActivateEvent TaskPane2
00000012 4:42:28.791 PM [9932] TaskPaneAfterCreate: TL="TaskPane2"
00000013 4:42:28.797 PM [9932] TaskPaneBeforeShow: TL="TaskPane2"
00000014 4:42:28.813 PM [9932] TaskPaneAfterShow: TL="TaskPane2"
00000015 4:42:28.942 PM [9932] DeactivateEvent TaskPane2
00000016 4:42:28.944 PM [9932] ActivateEvent TaskPane1
00000017 4:42:28.951 PM [9932] DeactivateEvent TaskPane1
00000018 4:42:28.957 PM [9932] ActivateEvent TaskPane2
00000019 4:42:28.957 PM [9932] DeactivateEvent TaskPane2
00000020 4:42:28.961 PM [9932] ActivateEvent TaskPane1
00000021 4:42:28.961 PM [9932] DeactivateEvent TaskPane1
00000022 4:42:28.973 PM [9932] ActivateEvent TaskPane2
00000023 4:42:28.973 PM [9932] DeactivateEvent TaskPane2
... and this then goes on forever hanging the machine!!
Как вы можете видеть, проблема заключается в том, что логика запуска формы изменилась из-за событий активации (что, вероятно, требует предварительной деактивации активной в данный момент панели), и мывойти в бесконечный цикл.
Кто-нибудь знает, как я могу решить эту проблему?
Заранее большое спасибо
Ричард Теллер