Страница 37 из 66

Re: Viper

Добавлено: 19 сен 2011, 09:58
edward_K
ресурс лучше всегда чистить, особенно при установке патчей. Да и так лишне не будет.

Re: Viper

Добавлено: 19 сен 2011, 14:39
Алексей
у меня в ресурс собирается по 40 и больше интерфейсов, мне каждый раз когда я делаю изменения в одном из интерфейсов пересобирать весь проект что ли?! :) не, пересобираю только при выходе новых пачтей.

Re: Viper

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

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

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

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

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

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

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

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

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

Re: Viper

Добавлено: 07 ноя 2011, 15:46
edward_K
Решил тоже поиграться. Вроде все указал в параметрах проекта, но на этапе подключения к базе получаю
Ошибка: Необработанное исключение компилятора. Сообщение: Privileged instruction Класс: EPrivilege
База тестовая, локальная на первасиве 9.5 без протекта.

Re: Viper

Добавлено: 07 ноя 2011, 15:50
Masygreen
михаил а можно делать не инсталятор, а просто архив портабле (ну или дублировать два инсталятора) ? вроде уже обсуждали, что не очень удобно инсталятором..
Зы. за наименование ярлыка "Viper 5.4.38.0" отдельное спасибо :), но в заголовке окна надо бы дублировать тоже

Re: Viper

Добавлено: 07 ноя 2011, 21:23
LaaLaa
Masygreen писал(а):михаил а можно делать не инсталятор, а просто архив портабле (ну или дублировать два инсталятора) ? вроде уже обсуждали, что не очень удобно инсталятором..
Зы. за наименование ярлыка "Viper 5.4.38.0" отдельное спасибо :), но в заголовке окна надо бы дублировать тоже
Извините, запамятовал. Вот пожалуйста:
Адрес для загрузки:
Архив Viper 5.4.38.0 для портативной установки - Viper-2011-5438-november.zip

Re: Viper

Добавлено: 07 ноя 2011, 22:49
LaaLaa
edward_K писал(а):Решил тоже поиграться. Вроде все указал в параметрах проекта, но на этапе подключения к базе получаю
Ошибка: Необработанное исключение компилятора. Сообщение: Privileged instruction Класс: EPrivilege
База тестовая, локальная на первасиве 9.5 без протекта.
Да, Эдвард, интересно. Трудно предположить в чем может быть причина. Пришли мне твой .VPR файл и сделай пожалуйста дополнительный тест:

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

Добавлено: 09 ноя 2011, 08:34
n0where
Ошибка на новом випере - невозможно подключиться к БД.

Просто замени файлы с 37 на 38. И такая ошибка. Настройки подключения к БД - корректные.

Галактика на 37 атлантисе.

Re: Viper

Добавлено: 09 ноя 2011, 12:34
LaaLaa
n0where писал(а):Ошибка на новом випере - невозможно подключиться к БД.
Просто замени файлы с 37 на 38. И такая ошибка. Настройки подключения к БД - корректные.
Галактика на 37 атлантисе.
"n0where", Вообще то Viper и Атлантис в Галактике должны быть идентичной версии.

Если вы хотите попользоваться новой версией Viper 5.4.38 то придется обновить и Галактику. А если у вас база на MS SQL то и NapServer с тоже нужно обновить. А еще и базу пропатчить chkmssql или chkora. Технология установки обновлений к сожалению иногда требует подобных процедур.

Если у вас Галактика с Атлантисом 5.4.37 то випер придется использовать из предыдущих постов. История всех предыдущих версий Viper доступна на страничке http://code.google.com/p/laalaa/downloads/list
(ее можно посмотреть указав фильтр Search: All downloads )

Re: Viper

Добавлено: 11 ноя 2011, 12:57
Алексей
Галактика с новым ЕХЕ и старым напом поднимается, а випер компилить не хочет?

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

11.11.2011 15:57:14 []:
[NAPSrv]: NAPSrv Server not respond
[RPC Error] Code: 1717. Неизвестный интерфейс.

Re: Viper

Добавлено: 11 ноя 2011, 16:07
LaaLaa
Алексей писал(а):Галактика с новым ЕХЕ и старым напом поднимается, а випер компилить не хочет?

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

11.11.2011 15:57:14 []:
[NAPSrv]: NAPSrv Server not respond
[RPC Error] Code: 1717. Неизвестный интерфейс.
Странно что Галактика у вас работает с новым ЕХЕ и старым напом? Без обновления у меня ни Галактика ни Саппорт тоже не подключались. Для 38 Атлантиса NAPSrv нужно обновить. Детали что именно там (в драйвере БД) дорабатывалось не исследовал. Наверное что важное :)

Re: Viper

Добавлено: 12 ноя 2011, 16:51
edward_K
edward_K писал(а):Решил тоже поиграться. Вроде все указал в параметрах проекта, но на этапе подключения к базе получаю
Ошибка: Необработанное исключение компилятора. Сообщение: Privileged instruction Класс: EPrivilege
База тестовая, локальная на первасиве 9.5 без протекта.
Дождался выхода вселенной 5.4.38 - после этого компиляция стала проходить нормально.

Re: Viper

Добавлено: 14 ноя 2011, 12:10
Алексей
Собственно наболевший вопрос :)

В настройках проекта есть раздел "ресурсы". Внутри есть "Базовый каталог системы в репозитарии". Допустим там указываю c:\gal810\exe .
Вопрос: зачем при выборе ресурсов для подключения в проект пишется полный путь "c:\gal810\exe\l_soprdoc.res ? почему нельзя писать просто l_soprdoc.res? Тогда я бы мог одни движением менять версию атлантиса в одном проекте.

Нужно это для того, что я работаю с базой 5.4.37. Пришел новый атлантис и новый випер. открываю випер, открываю проект, меняю базову систему а ресурсы остаются подключеными с полными путями - как результат удали, вставь... а потом надо вернуться опять на 5.4.37 и опять те же действия?

Приходится копировать вип.проект и переделывать его под новую версию випера и так каждый раз... неудобно жуть.

Re: Viper

Добавлено: 14 ноя 2011, 12:43
Masygreen
Алексей писал(а):Собственно наболевший вопрос :)
это как то обещалось сделать - отделив випер от системы сборки и отладки..... :(

Re: Viper

Добавлено: 16 ноя 2011, 06:22
Алексей
ещё вопрос. пересобираю проект, 40 *.prj файлов.
В конце вижу что была одна ошибка но найти по сообщениям в каком именное проекте была ошибка невозможно, пока каждый не развернешь и не посмотришь. Может быть есть способ как то показать только те, где есть ошибки? Пробовал отключать остальные закладки (предупреждения, подсказки), не помогает. Приходится каждый плюсик раскрывать чтобы найти ошибку.

Второй момент: есть альтер интерфейса 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.