Здравствуйте, Воронцов.
Вы писали 31 августа 2007 г., 21:33:59:
ВАВ> Приветствую, XENON1!
ВАВ> пятница, 31 августа 2007 г., Вы писали:
X>> Вопрос: Сталкивался ли кто-нибудь с подобным явлением,
ВАВ> Да. Но только когда кроме Acrobat 6 был установлен еще и Promt и/или
Система машинного перевода виновата, у нас таковым является Прагма.
Вот копия из read.me текст не изменял, может поможет чем.
Итак, у последних Word'ов (ХР, 2003) есть баг (KB873017)!
Суть бага заключается в том, что если макрос (СОМ-плагин) при своей
загрузке динамически создает пользовательское меню, а при выгрузке его
удаляет, то Word, несмотря на визуальное удаление меню, не удаляет
информацию о нем из ресурсной части шаблона Normal.dot. Поэтому работа
Word'а с таким макросом (СОМ-плагином) приводит к постоянному
увеличению шаблона Normal.dot. В конце концов Word'у это дело
надоедает, и он, как правило, блокирует работу "нерадивого" макроса
(СОМ-плагина).
Таким вот "нерадивым" СОМ-плагином является "ptbar.dll" системы
машинного перевода Прагма. Дабы не ждать пока у разработчиков дойдут
руки, я сама модифицировала ptbar.dll, чтобы обеспечить рациональное
взаимодействие Прагмы с Word'ом.
Что было изменено в ptbar.dll:
1) метод OnStartupComplete()
* При обнаружении в ресурсах Normal.dot уже созданного
пользовательского меню Прагмы не происходит его удаление, а
управление передается внедренной мной процедуре, назначающей
событийные обработчики соответствующим пунктам этого меню (т.н.
EventSinks). Если пользовательское меню Прагмы не было найдено, то
управление передается оригинальной процедуре его создающего;
* Заблокировано изменение статуса шаблона Normal.dot, Word сам
знает когда ему сохранять изменения в шаблон.
2) метод OnDisconnection()
* Заблокировано удаление пользовательского меню Прагмы;
* Так же заблокировано изменение статуса шаблона Normal.dot.
Использование:
1) Закрыть все запущенные экземпляры Word'а (саму Прагму можно не
выгружать);
2) Заменить оригинальную библиотеку ptbar.dll модифицированной (для
профилактики также удалить Normal.dot);
3) Запустить Word (будет создан новый, "очищенный", Normal.dot).
Всегда ваша,
Cynosure. 2005.