Viper 2013 и ранее
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Viper
у меня в ресурс собирается по 40 и больше интерфейсов, мне каждый раз когда я делаю изменения в одном из интерфейсов пересобирать весь проект что ли?! не, пересобираю только при выходе новых пачтей.
Re: Viper
Вышел новый релиз Viper (ноябрь 2011).
Адрес для загрузки: Атлантис 5.4.38.0 - Viper-2011-5438-november.exe
Новое в этой версии: "Средства для компиляции и отладки без остановки Галактики"
Обычная схема работы программиста состоит из следующих шагов: ввести текст программы на VIP в редактор, скомпилировать ресурс, запустить Галактику, проверить работу программы, найти ошибку, закрыть Галактику, исправить текст программы, снова скомпилировать ресурс, снова запустить Галактику и т.д. Эта последовательность повторяется многократно. Запуск Галактики может занимать продолжительное время (на подключение к БД, загрузку по сети, ввод пароля и т.п.)
Новая версия Viper предоставляет программисту возможность изменять исходный код интерфейса, пересобирать ресурс, выполнять отладку без необходимости каждый раз перезапускать Галактику.
Как работает новый механизм компиляции?
Автоматический режим. После запуска целевого приложения (Галактики) в режиме отладки (меню «Отладка \ Начать отладку») редактор Viper получает полный контроль над запущенным приложением. После чего в редакторе Viper можно продолжать изменять текст программы и свободно активировать функцию компиляции текущего ресурса (выделен жирным в окне проекта) или всего проекта. При этом целевой ресурс, который возможно был заблокирован Галактикой, будет автоматически освобожден (отключен). И после завершения компиляции, будет автоматически переподключен обратно в Галактику. Приоритет ресурса останется тот же, который был на момент отключения.
В момент отключения ресурса будут закрыты все внутренние окна Галактики (документы, отчеты). Но главное окно Галактики и текущий модуль останутся.
Если после запуска Галактики какой-то из интерфейсов был остановлен с помощью точек останова, то программист, выполняя этот интерфейс по шагам, заметит ошибку в тексте программы, исправит ее в редакторе и продолжит выполнение. При этом, Viper автоматически по изменению текста и настройкам проекта определит имя ресурса и предложит перекомпилировать его. Программист может отказаться и продолжить отладку, в таком случае номера строк могут не совпадать с шагами отладчика.
Интерактивный режим. В контекстное меню окна проекта, для элементов сборки добавлен новый пункт с помощью которого можно отключить выбранный ресурс от целевого приложения и подключить обратно. Данный пункт активен только в режиме отладки.
Интерактивный режим пригодится в тех случаях, когда по тем или иным причинам не сработает автоматическое отключение. В таком случае можно вручную отключить ресурс, скомпилировать и подключить.
Кроме того, ручной режим позволяет подключать к Галактике ресурс, который не был указан в репозитарии для Галактики. Подключенный таким образом ресурс будет активен только в текущем сеансе отладки. При повторном запуске Галактики автоматически он не подключится.
Более подробно читайте полную версию статьи: "Средства для компиляции и отладки без остановки Галактики"
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Viper
Решил тоже поиграться. Вроде все указал в параметрах проекта, но на этапе подключения к базе получаю
Ошибка: Необработанное исключение компилятора. Сообщение: Privileged instruction Класс: EPrivilege
База тестовая, локальная на первасиве 9.5 без протекта.
Ошибка: Необработанное исключение компилятора. Сообщение: Privileged instruction Класс: EPrivilege
База тестовая, локальная на первасиве 9.5 без протекта.
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Re: Viper
михаил а можно делать не инсталятор, а просто архив портабле (ну или дублировать два инсталятора) ? вроде уже обсуждали, что не очень удобно инсталятором..
Зы. за наименование ярлыка "Viper 5.4.38.0" отдельное спасибо , но в заголовке окна надо бы дублировать тоже
Зы. за наименование ярлыка "Viper 5.4.38.0" отдельное спасибо , но в заголовке окна надо бы дублировать тоже
Время ведет!
Re: Viper
Извините, запамятовал. Вот пожалуйста:Masygreen писал(а):михаил а можно делать не инсталятор, а просто архив портабле (ну или дублировать два инсталятора) ? вроде уже обсуждали, что не очень удобно инсталятором..
Зы. за наименование ярлыка "Viper 5.4.38.0" отдельное спасибо , но в заголовке окна надо бы дублировать тоже
Re: Viper
Да, Эдвард, интересно. Трудно предположить в чем может быть причина. Пришли мне твой .VPR файл и сделай пожалуйста дополнительный тест:edward_K писал(а):Решил тоже поиграться. Вроде все указал в параметрах проекта, но на этапе подключения к базе получаю
Ошибка: Необработанное исключение компилятора. Сообщение: Privileged instruction Класс: EPrivilege
База тестовая, локальная на первасиве 9.5 без протекта.
1) На рабочем месте, где воспроизводится проблема запустить Viper с ключом -logtofile
Пример : Viper.exe -logtofile
2) Выполнить действия, приводящие к ошибкам.
3) В момент работы приложения будут сформированы файлы 'ViperLog.sil' и возможно 'ViperLogCompile.sil', 'ViperError.log', 'AtlError.log'
4) После завершения теста закрыть Viper либо отключить диагностику клавишей [Alt+Shift+F4]
5) Полученные файлы, вместе с описанием проблемы, отправить в группу разработки Viper для анализа.
Re: Viper
Ошибка на новом випере - невозможно подключиться к БД.
Просто замени файлы с 37 на 38. И такая ошибка. Настройки подключения к БД - корректные.
Галактика на 37 атлантисе.
Просто замени файлы с 37 на 38. И такая ошибка. Настройки подключения к БД - корректные.
Галактика на 37 атлантисе.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
Re: Viper
"n0where", Вообще то Viper и Атлантис в Галактике должны быть идентичной версии.n0where писал(а):Ошибка на новом випере - невозможно подключиться к БД.
Просто замени файлы с 37 на 38. И такая ошибка. Настройки подключения к БД - корректные.
Галактика на 37 атлантисе.
Если вы хотите попользоваться новой версией Viper 5.4.38 то придется обновить и Галактику. А если у вас база на MS SQL то и NapServer с тоже нужно обновить. А еще и базу пропатчить chkmssql или chkora. Технология установки обновлений к сожалению иногда требует подобных процедур.
Если у вас Галактика с Атлантисом 5.4.37 то випер придется использовать из предыдущих постов. История всех предыдущих версий Viper доступна на страничке http://code.google.com/p/laalaa/downloads/list
(ее можно посмотреть указав фильтр Search: All downloads )
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Viper
Галактика с новым ЕХЕ и старым напом поднимается, а випер компилить не хочет?
Код: Выделить всё
11.11.2011 15:57:14 []:
[NAPSrv]: NAPSrv Server not respond
[RPC Error] Code: 1717. Неизвестный интерфейс.
Re: Viper
Странно что Галактика у вас работает с новым ЕХЕ и старым напом? Без обновления у меня ни Галактика ни Саппорт тоже не подключались. Для 38 Атлантиса NAPSrv нужно обновить. Детали что именно там (в драйвере БД) дорабатывалось не исследовал. Наверное что важноеАлексей писал(а):Галактика с новым ЕХЕ и старым напом поднимается, а випер компилить не хочет?Код: Выделить всё
11.11.2011 15:57:14 []: [NAPSrv]: NAPSrv Server not respond [RPC Error] Code: 1717. Неизвестный интерфейс.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Viper
Дождался выхода вселенной 5.4.38 - после этого компиляция стала проходить нормально.edward_K писал(а):Решил тоже поиграться. Вроде все указал в параметрах проекта, но на этапе подключения к базе получаю
Ошибка: Необработанное исключение компилятора. Сообщение: Privileged instruction Класс: EPrivilege
База тестовая, локальная на первасиве 9.5 без протекта.
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Viper
Собственно наболевший вопрос
В настройках проекта есть раздел "ресурсы". Внутри есть "Базовый каталог системы в репозитарии". Допустим там указываю c:\gal810\exe .
Вопрос: зачем при выборе ресурсов для подключения в проект пишется полный путь "c:\gal810\exe\l_soprdoc.res ? почему нельзя писать просто l_soprdoc.res? Тогда я бы мог одни движением менять версию атлантиса в одном проекте.
Нужно это для того, что я работаю с базой 5.4.37. Пришел новый атлантис и новый випер. открываю випер, открываю проект, меняю базову систему а ресурсы остаются подключеными с полными путями - как результат удали, вставь... а потом надо вернуться опять на 5.4.37 и опять те же действия?
Приходится копировать вип.проект и переделывать его под новую версию випера и так каждый раз... неудобно жуть.
В настройках проекта есть раздел "ресурсы". Внутри есть "Базовый каталог системы в репозитарии". Допустим там указываю c:\gal810\exe .
Вопрос: зачем при выборе ресурсов для подключения в проект пишется полный путь "c:\gal810\exe\l_soprdoc.res ? почему нельзя писать просто l_soprdoc.res? Тогда я бы мог одни движением менять версию атлантиса в одном проекте.
Нужно это для того, что я работаю с базой 5.4.37. Пришел новый атлантис и новый випер. открываю випер, открываю проект, меняю базову систему а ресурсы остаются подключеными с полными путями - как результат удали, вставь... а потом надо вернуться опять на 5.4.37 и опять те же действия?
Приходится копировать вип.проект и переделывать его под новую версию випера и так каждый раз... неудобно жуть.
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Viper
ещё вопрос. пересобираю проект, 40 *.prj файлов.
В конце вижу что была одна ошибка но найти по сообщениям в каком именное проекте была ошибка невозможно, пока каждый не развернешь и не посмотришь. Может быть есть способ как то показать только те, где есть ошибки? Пробовал отключать остальные закладки (предупреждения, подсказки), не помогает. Приходится каждый плюсик раскрывать чтобы найти ошибку.
Второй момент: есть альтер интерфейса katoss. При компиляции випер ругается на переменную ButSP словами "Уже есть переменная с таким именем : ButSP katoss.vip(стр. 11, поз. 40)". Меняю название переменно на ButSPP - компиляция проходит но начинает ругаться на то что есть уже такая функция LoadCfgBut. Добавляю к названию единичку - проходит.
Строчник спокойно компилит изначальный код.
Что ему не нравится в переменной и названии функции?
З.Ы.: так называю кнопку и функцию во всех альтерах, но это же локальные переменные, ничего не пойму...
В конце вижу что была одна ошибка но найти по сообщениям в каком именное проекте была ошибка невозможно, пока каждый не развернешь и не посмотришь. Может быть есть способ как то показать только те, где есть ошибки? Пробовал отключать остальные закладки (предупреждения, подсказки), не помогает. Приходится каждый плюсик раскрывать чтобы найти ошибку.
Второй момент: есть альтер интерфейса katoss. При компиляции випер ругается на переменную ButSP словами "Уже есть переменная с таким именем : ButSP katoss.vip(стр. 11, поз. 40)". Меняю название переменно на ButSPP - компиляция проходит но начинает ругаться на то что есть уже такая функция LoadCfgBut. Добавляю к названию единичку - проходит.
Строчник спокойно компилит изначальный код.
Что ему не нравится в переменной и названии функции?
З.Ы.: так называю кнопку и функцию во всех альтерах, но это же локальные переменные, ничего не пойму...
Код: Выделить всё
#Component "F_OS"
const
cmButSP =121215;
end;
Alter Interface katoss;
create view;
var ButSP: longint;
procedure LoadCfgBut;
{
cfsCreateObject('button','KATOSSCR','butSP',FALSE,ButSP);
cfsSetProp('butSP','Origin_X',round(600*GetFontSize,0));
cfsSetProp('butSP','Origin_Y',round(167*getfontsize,0));
cfsSetProp('butSP','Size_X',80);
cfsSetProp('butSP','Size_Y',19);
cfsSetProp('butSP','Title','Консервация');
cfsSetProp('butSP','StatusCtx',sci13Esc);
cfsSetProp('butSP','Command',cmButSP);
}
Window WIEDITKATOS;
HandleEvent
cmButSP:
{
RunInterface('F_OS::OSHalt',katos.nrec);
}
end;
end;
HandleEvent
cmInit:
{
if (inherited :: handleevent(cmInit)<>heOK) then abort;
LoadCfgBut;
}
end;
end.