Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 21 июл 2017, 16:40

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


Размещение файлов в формате vsd (а не vsdx/vsdm), увеличивает вероятность ответа стремительным домкратом !!!



Начать новую тему Ответить на тему  [ Сообщений: 20 ] 
Автор Сообщение
 Заголовок сообщения: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 12:49 
Открываю файл для редактирования через OpenEx("Путь к файлу", VisOpenSaveArgs.visOpenRW), затем редактирую и сохраняю документ.
Открываю дальше другой документ, но активным остаётся старый, пробую закрыть старый через Close(), но выдаёт ошибку, что файл сейчас на редактировании.
Собственно, как мне открывать документы на редактирование и менять текущий документ без свойства Src(с ним какие-то проблемы в визио 2016)?


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 12:58 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3348
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
Bill17 писал(а):
Открываю файл для редактирования через OpenEx("Путь к файлу", VisOpenSaveArgs.visOpenRW)
именно документ vsdx ? или стенсил vssx ?
Bill17 писал(а):
затем редактирую и сохраняю документ.
Открываю дальше другой документ, но активным остаётся старый, пробую закрыть старый через Close(), но выдаёт ошибку, что файл сейчас на редактировании.
странно. попробуй закрывать редактируемый документ ДО открытия другого документа !
Bill17 писал(а):
менять текущий документ без свойства Src
не слышал за такое свойство !


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 13:04 
Surrogate писал(а):
именно документ vsdx ? или стенсил vssx ?

Именно документ vsdx
Surrogate писал(а):
странно. попробуй закрывать редактируемый документ ДО открытия другого документа !

Собственно так и делаю, говорит, что документ на редактировании и закрывать нельзя. Да, стоит отметить, что я использую VisioControl для открытия документов
Surrogate писал(а):
не слышал за такое свойство !

https://msdn.microsoft.com/en-us/librar ... 2147217396


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 13:10 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3348
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
Surrogate писал(а):
VisOpenSaveArgs.visOpenRW
а это зачем ?
Bill17 писал(а):
Да, стоит отметить, что я использую VisioControl для открытия документов
а это зачем ?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 13:28 
Surrogate писал(а):
VisOpenSaveArgs.visOpenRW а это зачем ?

Затем, что я этот файл редактирую, хотя можно конечно и просто через Open открывать.
Surrogate писал(а):
а это зачем ?

Ну такая логика программы, я использую AxDrawingControl для работы с документами. В основном для рисования шейпов.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 13:38 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3348
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
Гость писал(а):
хотя можно конечно и просто через Open открывать.
можно и просто visOpenRW, без VisOpenSaveArgs
Гость писал(а):
Ну такая логика программы
за что я люблю темы от уважаемого Bill17 - в них много уточнений и наводящих вопросов (т.к. постановка задачи весьма туманна; если дается код то не полностью и т.п.), от этого число сообщений растет стремительным домкратом !!!
Гость писал(а):
я использую AxDrawingControl для работы с документами. В основном для рисования шейпов
а что мешает традиционными средствами рисовать шейпы ?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 13:48 
Я знаю, что плохо объясняю, ничего не могу с этим поделать.
В общем использую форму на которой лежит AxDrawingControl.
Первый документ открывается так:
Код:
visioControlWrapper.VisioControl.Window.Application.Documents.OpenEx("Путь к файлу", (short)Visio.VisOpenSaveArgs.visOpenRW);

visioControlWrapper - элемент формы, на котором лежит контрол.
Затем файл редактируется, сохраняется. Закрыть текущий документ не могу, открыть новый тоже не могу, активным остаётся первый документ.
Как мне сменить активный документ?


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 13:53 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 487
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100602

Добавить очки репутацииУменьшить очки репутации
Почему ты не хочешь использовать Src? Оно было специально добавлено именно для этого (для указания файла для контрола).
А то твое лечение выглядит хуже болезни. То есть, что именно не так с Src в Visio 2016?

_________________
Инструменты для облегчения создания диаграмм, и статьи по Visio:
http://unmanagedvisio.com/


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 13:59 
nbelyh писал(а):
Почему ты не хочешь использовать Src? Оно было специально добавлено именно для этого (для указания файла для контрола).
А то твое лечение выглядит хуже болезни. То есть, что именно не так с Src в Visio 2016?

Выставляю программно Src и при любый действиях с документом выдаёт ошибку System.AccessViolationException.
То есть даже бросить шейп нельзя, а если открываю через OpenEx, то всё работает.
Файл рабочий, его можно открыть и редактировать, а через контрол работать не хочет.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 14:05 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 487
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100602

Добавить очки репутацииУменьшить очки репутации
Может контрол не той версии Visio?
Например, контрол от 2007 а установленна версия 2016.

В общем я думаю просто переставь Visio может быть?

_________________
Инструменты для облегчения создания диаграмм, и статьи по Visio:
http://unmanagedvisio.com/


Последний раз редактировалось nbelyh 15 дек 2016, 14:06, всего редактировалось 1 раз.

Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 14:06 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3348
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
Bill17 писал(а):
В общем использую форму на которой лежит AxDrawingControl.
вон оно чё, Михалыч! ©
теперь понятно, почему у тебя возникают проблемы которые у обычных пользователей (они просто работают собственно в визио) не возникают!!!


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 14:13 
nbelyh писал(а):
Может контрол не той версии Visio?
Например, контрол от 2007 а установленна версия 2016.

В общем я думаю просто переставь Visio может быть?
Разве можно выбирать версию контрола? Я думал при инициализации версия контрола берётся по версии визио.
Подумаю насчёт переустановки конечно, но хотелось бы обойтись без этого.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 14:42 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 864
Очков репутации: 100575

Добавить очки репутацииУменьшить очки репутации
Насколько я помню, DrawingControl не позволяет напрямую сохранять редактируемый документ. Он работает с копией.
Посмотрите вот здесь.
Цитата:
When you set the SRC property to load a file into the Visio Drawing Control, the control opens a copy of the file, but does not keep the original file open for writing. As a result, you cannot use the Document.Save method to save changes to a file loaded into the Visio Drawing Control. To save changes in a file, first use the SRC property to load the file into the Visio Drawing Control, and then set SRC to an empty string (""). To save the modified file to disk, use the Document.SaveAs method.
Во всяком случае, раньше было именно так. Не знаю, может в последних версиях что изменилось... Но едва ли.
А если действовать так, как в приведенной цитате, то никаких проблем не возникало. Все работало нормально.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 15:04 
Tumanov писал(а):
Насколько я помню, DrawingControl не позволяет напрямую сохранять редактируемый документ. Он работает с копией.
Посмотрите вот здесь.
Цитата:
When you set the SRC property to load a file into the Visio Drawing Control, the control opens a copy of the file, but does not keep the original file open for writing. As a result, you cannot use the Document.Save method to save changes to a file loaded into the Visio Drawing Control. To save changes in a file, first use the SRC property to load the file into the Visio Drawing Control, and then set SRC to an empty string (""). To save the modified file to disk, use the Document.SaveAs method.
Во всяком случае, раньше было именно так. Не знаю, может в последних версиях что изменилось... Но едва ли.
Так речь в тексте же о свойстве Src, а я хотел бы без него открывать/редактировать документы.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 15:13 
Собственно у меня есть код, который использовал ранее Src и он работает в визио 2010 и 2013, однако в визио 2016 почему-то с этим возникают проблемы.
Кроме переустановки визио есть ли другие варианты?


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 16:16 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 487
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100602

Добавить очки репутацииУменьшить очки репутации
Можешь попробовать удалить контроль с формы и потом снова добавить. От visio 2016. Если без перестановки.

_________________
Инструменты для облегчения создания диаграмм, и статьи по Visio:
http://unmanagedvisio.com/


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 16:38 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 864
Очков репутации: 100575

Добавить очки репутацииУменьшить очки репутации
Ну, в сторону увеличения версии они вроде бы сами подменялись. Это обратно приходилось ручками.
А еще были проблемы с 64-битным офисом. Так как контролы в принципе 32-битные. Но это вроде бы тут ни при чем.
Цитата:
Выставляю программно Src и при любый действиях с документом выдаёт ошибку System.AccessViolationException.

Хотя... может и причем.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 17:00 
Tumanov писал(а):
Ну, в сторону увеличения версии они вроде бы сами подменялись. Это обратно приходилось ручками.
А еще были проблемы с 64-битным офисом. Так как контролы в принципе 32-битные. Но это вроде бы тут ни при чем.
Цитата:
Выставляю программно Src и при любый действиях с документом выдаёт ошибку System.AccessViolationException.

Хотя... может и причем.

Оп, а вот это интересно. Не могу проверить догадку, так как у меня только один комп с визио 2016 и он х64. Это можно как-то исправить?

nbelyh писал(а):
Можешь попробовать удалить контроль с формы и потом снова добавить. От visio 2016. Если без перестановки.

Можно код, пожалуйста? Я не понимаю как определённую версию контрола открыть.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 17:28 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 487
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100602

Добавить очки репутацииУменьшить очки репутации
nbelyh писал(а):
Можно код, пожалуйста? Я не понимаю как определённую версию контрола открыть.


Если ты видишь только один, то проблемы быть не должно. Просто удали его и добавь снова (мышкой). Кажется тупо, но может только кажется :)

_________________
Инструменты для облегчения создания диаграмм, и статьи по Visio:
http://unmanagedvisio.com/


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена текущего документа без Src
СообщениеДобавлено: 15 дек 2016, 17:53 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 864
Очков репутации: 100575

Добавить очки репутацииУменьшить очки репутации
Цитата:
Оп, а вот это интересно. Не могу проверить догадку, так как у меня только один комп с визио 2016 и он х64. Это можно как-то исправить?

В принципе исправить можно. Но долго и противно. Так что если есть возможность проверить, то лучше сначала проверить.
https://support.microsoft.com/en-us/kb/980533
Вот как-то так.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Google Adsense [Bot] и гости: 2


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB