Viper

Приемы и подходы, обмен опытом

Модераторы: Screw, larin

Ответить
Levsha
топ-софт
Сообщения: 44
Зарегистрирован: Вт, 08/07/2008 15:18
Имя Фамилия: Максим Левша
Откуда: ТопСофт
Контактная информация:

Re: Viper

Сообщение Levsha »

Kefiro писал(а):Переназначить клавиши в итоге удалось не с первого захода. Всё-таки есть там что-то глючное в назначении клавиш.
Кстати, у меня XP.
Всё-таки хотелось бы иметь возможность закомментировать строку, когда курсор находится в любой её позиции.
Пометил.
Kefiro
Сообщения: 22
Зарегистрирован: Чт, 08/09/2011 17:13
Имя Фамилия: Андрей Пеньков

Re: Viper

Сообщение Kefiro »

Подскажите, пожалуйста, как в Viper указать путь на файл autoexec.vpp?
Аватара пользователя
larin
топ-софт
Сообщения: 228
Зарегистрирован: Пн, 10/09/2007 12:13
Имя Фамилия: Михаил Ларин
Откуда: ТопCофт
Контактная информация:

Re: Viper

Сообщение larin »

Kefiro писал(а):Подскажите, пожалуйста, как в Viper указать путь на файл autoexec.vpp?
в .PRJ файле укажите этот параметр с помощью директивы #param

Код: Выделить всё

#param /linc:"d:\путь\autoexec.vpp"
n0where
Сообщения: 72
Зарегистрирован: Вт, 21/12/2010 06:01
Имя Фамилия: Лобастов Александр
Откуда: Сода

Re: Viper

Сообщение n0where »

А можно указать подключаемый ресурсник таким образом?

А то у меня слетают почему-то они, если открывать разными версиями випера (и название проектов тоже)
Аватара пользователя
larin
топ-софт
Сообщения: 228
Зарегистрирован: Пн, 10/09/2007 12:13
Имя Фамилия: Михаил Ларин
Откуда: ТопCофт
Контактная информация:

Re: Viper

Сообщение larin »

n0where писал(а):А можно указать подключаемый ресурсник таким образом?
Не знаю надо пробовать.
n0where писал(а):А то у меня слетают почему-то они, если открывать разными версиями випера (и название проектов тоже)
Возможно это как то связано с тем, что пути на ресурсы пересчитываются относительно файла проекта? Получить бы более подробную информацию по этому поводу. Как именно это происходит?
n0where
Сообщения: 72
Зарегистрирован: Вт, 21/12/2010 06:01
Имя Фамилия: Лобастов Александр
Откуда: Сода

Re: Viper

Сообщение n0where »

larin писал(а):Возможно это как то связано с тем, что пути на ресурсы пересчитываются относительно файла проекта? Получить бы более подробную информацию по этому поводу. Как именно это происходит?
Настраиваю через настройку файла подключение ресурса. Сам ресурс на сетевом диске. Открываю 35 випером, потом 37 - слетают пути (ресурсов, выходных файлов и тп), название проекта.
Levsha
топ-софт
Сообщения: 44
Зарегистрирован: Вт, 08/07/2008 15:18
Имя Фамилия: Максим Левша
Откуда: ТопСофт
Контактная информация:

Re: Viper

Сообщение Levsha »

n0where писал(а):Настраиваю через настройку файла подключение ресурса. Сам ресурс на сетевом диске. Открываю 35 випером, потом 37 - слетают пути (ресурсов, выходных файлов и тп), название проекта.
Между выпусками данных версий Атлантиса было выпущено 8 версий випера с многочсленными доработками. В результате одной из них (механизм работы с XML файлами) была утеряна поддержка старых версий проекта (это недочет :-( ).
Для перевода старых проектов на новый випер необходимо руками подправить prj-файл. А именно в секции "CompileList" необходимо удалить открывающие и закрывающие теги "CoreVip" (только сами теги, вложенную информацию и вложенные теги удалять не надо).
Будут трудности пишите.
Аватара пользователя
larin
топ-софт
Сообщения: 228
Зарегистрирован: Пн, 10/09/2007 12:13
Имя Фамилия: Михаил Ларин
Откуда: ТопCофт
Контактная информация:

Re: Viper

Сообщение larin »

Levsha писал(а): подправить prj-файл
только не prj, а vpr - файл
Levsha
топ-софт
Сообщения: 44
Зарегистрирован: Вт, 08/07/2008 15:18
Имя Фамилия: Максим Левша
Откуда: ТопСофт
Контактная информация:

Re: Viper

Сообщение Levsha »

:shuffle:
Kefiro
Сообщения: 22
Зарегистрирован: Чт, 08/09/2011 17:13
Имя Фамилия: Андрей Пеньков

Re: Viper

Сообщение Kefiro »

Приветствую!
Поясните, пожалуйста, как работают свойства точек останова. Не могу найти ни в справке, ни в "что нового". В частности, интересуют действия. Например, логирование. Где искать лог? И что такое "Включить/выключить группу"?
Kefiro
Сообщения: 22
Зарегистрирован: Чт, 08/09/2011 17:13
Имя Фамилия: Андрей Пеньков

Re: Viper

Сообщение Kefiro »

Есть ещё такой вопрос. Не знаю, с чем это связано, но при формировании ARD-отчётов у меня всегда запускается визуализация с текстом "Формирование Х отчета". Если не включается отладка (если нет точек останова), то после завершения работы интерфейса, который вызывается в ARD, этот процесс завершается, и на этом всё заканчивается. Но если я отлаживаю интерфейс, то после его завершения окно с процессом "Формирование Х отчета" не закрывается, и Галактика повисает. Её можно только убить в випере принудительно. Довольно утомительно убивать процесс, а потом опять запускать Галактику, особенно если надо прогнать работу интерфейса несколько раз без перекомпиляции.
Вопрос, собственно, знает ли кто, как избавиться от этой визуализации, или как исправить отладку, чтобы она не подвешивала Галактику?

Ещё я где-то видел разговор, что отладка, в случае, если есть точки останова (даже если они выключены) при каждом входе в интерфейс (в cmInit, в cmOnVipLoad, в конструкторе) обязательно останавливает работу. Наверно, над этим уже работают программисты?
Kefiro
Сообщения: 22
Зарегистрирован: Чт, 08/09/2011 17:13
Имя Фамилия: Андрей Пеньков

Re: Viper

Сообщение Kefiro »

В параметрах редактора по умолчанию ширина табуляции равна 2. Если поставить 3 (не включая улучшенную табуляцию), то в редакторе при нажатии Tab программа делает отступ на 3 символа. Но почему-то эта настройка не работает в функции "Добавить/Убрать отступ" - она по-прежнему добавляет или убавляет 2 символа.
Вообще есть предложение реализовать функцию, которая бы автоматически форматировала текст кода в соответствии с заданными настройками. Например:

Код: Выделить всё

if (flag) {
a := 0;
b := 0;
}
else {
a := 1;
b := 1;
}
хочу переделать в:

Код: Выделить всё

if (flag) {
   a := 0;
   b := 0;
}
else {
   a := 1;
   b := 1;
}
Сейчас это можно сделать, выделив две первые строки присвоения и добавив отступ, потом повторив для вторых двух строк. Было бы удобно выделить весь блок и запустить функцию, которая сама бы отформатировала весь блок в соответствии с заданной в настройках структурой. Особенно удобно так форматировать многострочный текст, составленный из разных кусков с разными отступами (знаю по эклипсу).
Levsha
топ-софт
Сообщения: 44
Зарегистрирован: Вт, 08/07/2008 15:18
Имя Фамилия: Максим Левша
Откуда: ТопСофт
Контактная информация:

Re: Viper

Сообщение Levsha »

Kefiro писал(а):Приветствую!
Поясните, пожалуйста, как работают свойства точек останова. Не могу найти ни в справке, ни в "что нового". В частности, интересуют действия. Например, логирование. Где искать лог? И что такое "Включить/выключить группу"?
В свойствах точек останова реализован функционал действий "Остановить исполнение кода" и "Ничего не делать", другие действия были внесены в результате работ по актуализации с встроенным галактическим отладчиком. Доработка этих действий отложена, в силу отсутствия ресурсов и невостребованности среди пользователей. Смысл же данных действий таков, что при включении логирования в окно вывода просто выводится информация при отработке кода с установленной точкой останова; включение/выключение групп служит для управления точками останова закрепленных за определенными группами, задание группы для точки останова в випере отсутствует. Если же потребность в данном функционале будет, то мы вернемся к ее доработкам, а пока данный функционал скроем, чтобы не вводил в заблуждение.

Что касается отладки. Раннее были известны проблемы при отладке визуализации процесса, но потом были доработки и проблема забылась, скорее всего всплыла вновь.
С Атлантисом 38 выйдет версия випера, в которой можно будет отключать автоматическую остановку отладчика в конструкторе.

Реализация функции автоформатирования текста запланирована.
Kefiro
Сообщения: 22
Зарегистрирован: Чт, 08/09/2011 17:13
Имя Фамилия: Андрей Пеньков

Re: Viper

Сообщение Kefiro »

Приветствую!

На мой взгляд, функция логирования для точки останова нужна. Об остальных функциях не могу сказать, насколько они востребованы лично мной :-) .

Ещё по отладчику: в окне Выражения и переменные отладчик должен выделять цветом переменные с изменившимися значениями после последнего шага. Видно, как это выделение срабатывает - появляется малиновый фон, но он, мигнув, тут же пропадает.
Аватара пользователя
larin
топ-софт
Сообщения: 228
Зарегистрирован: Пн, 10/09/2007 12:13
Имя Фамилия: Михаил Ларин
Откуда: ТопCофт
Контактная информация:

Re: Viper

Сообщение larin »

Вышел новый релиз Viper (ноябрь 2011).
Адрес для загрузки: Атлантис 5.4.38.0 - Viper-2011-5438-november.exe
Новое в этой версии: "Средства для компиляции и отладки без остановки Галактики"

Обычная схема работы программиста состоит из следующих шагов: ввести текст программы на VIP в редактор, скомпилировать ресурс, запустить Галактику, проверить работу программы, найти ошибку, закрыть Галактику, исправить текст программы, снова скомпилировать ресурс, снова запустить Галактику и т.д. Эта последовательность повторяется многократно. Запуск Галактики может занимать продолжительное время (на подключение к БД, загрузку по сети, ввод пароля и т.п.)

Новая версия Viper предоставляет программисту возможность изменять исходный код интерфейса, пересобирать ресурс, выполнять отладку без необходимости каждый раз перезапускать Галактику.

Как работает новый механизм компиляции?

Автоматический режим. После запуска целевого приложения (Галактики) в режиме отладки (меню «Отладка \ Начать отладку») редактор Viper получает полный контроль над запущенным приложением. После чего в редакторе Viper можно продолжать изменять текст программы и свободно активировать функцию компиляции текущего ресурса (выделен жирным в окне проекта) или всего проекта. При этом целевой ресурс, который возможно был заблокирован Галактикой, будет автоматически освобожден (отключен). И после завершения компиляции, будет автоматически переподключен обратно в Галактику. Приоритет ресурса останется тот же, который был на момент отключения.
В момент отключения ресурса будут закрыты все внутренние окна Галактики (документы, отчеты). Но главное окно Галактики и текущий модуль останутся.
Если после запуска Галактики какой-то из интерфейсов был остановлен с помощью точек останова, то программист, выполняя этот интерфейс по шагам, заметит ошибку в тексте программы, исправит ее в редакторе и продолжит выполнение. При этом, Viper автоматически по изменению текста и настройкам проекта определит имя ресурса и предложит перекомпилировать его. Программист может отказаться и продолжить отладку, в таком случае номера строк могут не совпадать с шагами отладчика.

Интерактивный режим. В контекстное меню окна проекта, для элементов сборки добавлен новый пункт с помощью которого можно отключить выбранный ресурс от целевого приложения и подключить обратно. Данный пункт активен только в режиме отладки.

Интерактивный режим пригодится в тех случаях, когда по тем или иным причинам не сработает автоматическое отключение. В таком случае можно вручную отключить ресурс, скомпилировать и подключить.

Кроме того, ручной режим позволяет подключать к Галактике ресурс, который не был указан в репозитарии для Галактики. Подключенный таким образом ресурс будет активен только в текущем сеансе отладки. При повторном запуске Галактики автоматически он не подключится.

Более подробно читайте полную версию статьи: "Средства для компиляции и отладки без остановки Галактики"
Ответить