All Forums
 Категория Visio
 Форум Вопросы и ответы
 ...еще раз о невидимых шаблонах
Author Previous Topic Topic Next Topic  

krys

55 Posts

Posted - 01/29/2007 :  16:50:21
Привет.
У меня возникла следующая ситуация:
Я открываю Новый документ и загружаю для него ряд шаблонов.Один из них открывается с флагами visOpenDocked и visOpenHidden .
Проблема возникает когда я закрываю Документ или приложение:
Для тестирования я использую Tool" Visio Event Monitor" включенный в SDK .
Так вот здесь я вижу что после того как я закрываю приложение, сначала для всех видимых,встроеннных в документ, шаблонов вызываются поочереди События QueryCancelDocumentClose и BeforeDocumentClose,
а потом для невидимого Шаблона QueryCancelDocumentClose (возращаемое значение False (don't cancel)).
За тем следует QueryCancelQuit и BeforeQuit
Отсюда я заключаю что шаблон остается незакрытым. Эту мысль так же подтверждает, то что когда я позже через программу удаляю шаблоны из папки где они распологались, шаблон открытый как невидимый продолжает лежать в папке.

Выходит что я должен вытаскивать соответствующий Документ из коллекции Documents и закрывать его(кстати, в какой то теме был задан вопрос как закрыть невидимый шаблон...) .
Вопрос 1.й: сталкивался ли кто то с таким явлением ?
Вопрос 2.й: Иногда проявляется Баг, при котором после QueryCancelQuit в Debug версии вызывается ошибка, а в Release версии Visio просто не закрывается, хотя новый документ открыть можно.
Похоже на то что в QueryCancelQuit какой то обработчик событий возращает TRUE. Может ли здесь причиной являться незакрытый невидимый шаблон, может есть какие то другие идеи на этот счет?

Edited by - krys on 01/29/2007 16:51:45

mers

Russia
159 Posts

Posted - 01/29/2007 :  17:17:14
Здравствуйте.
Я спрашивал каким образом можно получить ссылку на невидимый stencil?
Т.е. фактически на document, открытый с атрибутом Hidden.
Кстати так и не нашел способа. Может быть поможете?
Go to Top of Page

krys

55 Posts

Posted - 01/29/2007 :  17:47:15
У меня получилось примерно так:
Document= Application.Documents.GetItem(NameOrIndex)
Document.Close
Go to Top of Page

mers

Russia
159 Posts

Posted - 01/30/2007 :  11:05:46
Это все замечательно.
Проблема в том что я не могу получить ссылку на коллекцию Documents, поскольку у меня нет объекта Application. Я работаю только с ActivX компонентой AxDrawingControl.
Как выцепить скрытые stencil используя объект axDrawingControl? Вот в чем собственно вопрос.

Edited by - mers on 01/30/2007 11:06:27
Go to Top of Page

Ven

28 Posts

Posted - 01/31/2007 :  10:33:39
quote:
Originally posted by mers

Это все замечательно.
Проблема в том что я не могу получить ссылку на коллекцию Documents, поскольку у меня нет объекта Application. Я работаю только с ActivX компонентой AxDrawingControl.
Как выцепить скрытые stencil используя объект axDrawingControl? Вот в чем собственно вопрос.



Выцыплять стенсил надо так как описал krys а доступ к Application получаешь так: VisioDrawingControl.Document.Application
Go to Top of Page

mers

Russia
159 Posts

Posted - 01/31/2007 :  15:04:24
спасибо, все получилось :)
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)