Re: Viper
Добавлено: 19 сен 2011, 09:58
ресурс лучше всегда чистить, особенно при установке патчей. Да и так лишне не будет.
Обсуждение различных вопросов, связанных с сопровождением, администрированием и программированием
https://asu.tyumbit.ru/
Адрес для загрузки: Атлантис 5.4.38.0 - Viper-2011-5438-november.exe
Новое в этой версии: "Средства для компиляции и отладки без остановки Галактики"
Обычная схема работы программиста состоит из следующих шагов: ввести текст программы на VIP в редактор, скомпилировать ресурс, запустить Галактику, проверить работу программы, найти ошибку, закрыть Галактику, исправить текст программы, снова скомпилировать ресурс, снова запустить Галактику и т.д. Эта последовательность повторяется многократно. Запуск Галактики может занимать продолжительное время (на подключение к БД, загрузку по сети, ввод пароля и т.п.)
Новая версия Viper предоставляет программисту возможность изменять исходный код интерфейса, пересобирать ресурс, выполнять отладку без необходимости каждый раз перезапускать Галактику.
Как работает новый механизм компиляции?
Автоматический режим. После запуска целевого приложения (Галактики) в режиме отладки (меню «Отладка \ Начать отладку») редактор Viper получает полный контроль над запущенным приложением. После чего в редакторе Viper можно продолжать изменять текст программы и свободно активировать функцию компиляции текущего ресурса (выделен жирным в окне проекта) или всего проекта. При этом целевой ресурс, который возможно был заблокирован Галактикой, будет автоматически освобожден (отключен). И после завершения компиляции, будет автоматически переподключен обратно в Галактику. Приоритет ресурса останется тот же, который был на момент отключения.
В момент отключения ресурса будут закрыты все внутренние окна Галактики (документы, отчеты). Но главное окно Галактики и текущий модуль останутся.
Если после запуска Галактики какой-то из интерфейсов был остановлен с помощью точек останова, то программист, выполняя этот интерфейс по шагам, заметит ошибку в тексте программы, исправит ее в редакторе и продолжит выполнение. При этом, Viper автоматически по изменению текста и настройкам проекта определит имя ресурса и предложит перекомпилировать его. Программист может отказаться и продолжить отладку, в таком случае номера строк могут не совпадать с шагами отладчика.
Интерактивный режим. В контекстное меню окна проекта, для элементов сборки добавлен новый пункт с помощью которого можно отключить выбранный ресурс от целевого приложения и подключить обратно. Данный пункт активен только в режиме отладки.
Интерактивный режим пригодится в тех случаях, когда по тем или иным причинам не сработает автоматическое отключение. В таком случае можно вручную отключить ресурс, скомпилировать и подключить.
Кроме того, ручной режим позволяет подключать к Галактике ресурс, который не был указан в репозитарии для Галактики. Подключенный таким образом ресурс будет активен только в текущем сеансе отладки. При повторном запуске Галактики автоматически он не подключится.
Более подробно читайте полную версию статьи: "Средства для компиляции и отладки без остановки Галактики"
Извините, запамятовал. Вот пожалуйста:Masygreen писал(а):михаил а можно делать не инсталятор, а просто архив портабле (ну или дублировать два инсталятора) ? вроде уже обсуждали, что не очень удобно инсталятором..
Зы. за наименование ярлыка "Viper 5.4.38.0" отдельное спасибо, но в заголовке окна надо бы дублировать тоже
Да, Эдвард, интересно. Трудно предположить в чем может быть причина. Пришли мне твой .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 для анализа.
"n0where", Вообще то Viper и Атлантис в Галактике должны быть идентичной версии.n0where писал(а):Ошибка на новом випере - невозможно подключиться к БД.
Просто замени файлы с 37 на 38. И такая ошибка. Настройки подключения к БД - корректные.
Галактика на 37 атлантисе.
Код: Выделить всё
11.11.2011 15:57:14 []:
[NAPSrv]: NAPSrv Server not respond
[RPC Error] Code: 1717. Неизвестный интерфейс.
Странно что Галактика у вас работает с новым ЕХЕ и старым напом? Без обновления у меня ни Галактика ни Саппорт тоже не подключались. Для 38 Атлантиса NAPSrv нужно обновить. Детали что именно там (в драйвере БД) дорабатывалось не исследовал. Наверное что важноеАлексей писал(а):Галактика с новым ЕХЕ и старым напом поднимается, а випер компилить не хочет?Код: Выделить всё
11.11.2011 15:57:14 []: [NAPSrv]: NAPSrv Server not respond [RPC Error] Code: 1717. Неизвестный интерфейс.
Дождался выхода вселенной 5.4.38 - после этого компиляция стала проходить нормально.edward_K писал(а):Решил тоже поиграться. Вроде все указал в параметрах проекта, но на этапе подключения к базе получаю
Ошибка: Необработанное исключение компилятора. Сообщение: Privileged instruction Класс: EPrivilege
База тестовая, локальная на первасиве 9.5 без протекта.
это как то обещалось сделать - отделив випер от системы сборки и отладки.....Алексей писал(а):Собственно наболевший вопрос
Код: Выделить всё
#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.