Viper 2013 и ранее
Модераторы: m0p3e, edward_K, Модераторы
Re: Viper
Ну да если нет кода то отлаживать чужой интерфейс смысла нет. Если на запрос файла нажать отмена то выполнение по моему продолжается без отладки.Алексей писал(а):При использовании в программах объектных интерфейсов и вызове их методов, отладчик пытается найти исходные тексты... а они не всегда есть.
В окне запроса можно задать путь к исходнику и сохранить его в проекте, если сборку делал кто-то другой а у вас пути к этим исходникам не настроены.
Еще меню "Отладка" пункты "Отлаживать все", "Перехватывать исключения", "Останавливаться на конструкторах". В вашем случае лучше наварено выключить. Чтобы под отладку попадали только ваши интерфейсы, а чужие не мешали.
Re: Viper
Ценное предложение, нужно какой то способ фильтрации и быстрого поиска реализовать. Записал в ПИР 102.111864. Позже сделаем.Алексей писал(а):ещё вопрос. пересобираю проект, 40 *.prj файлов.
В конце вижу что была одна ошибка но найти по сообщениям в каком именное проекте была ошибка невозможно, пока каждый не развернешь и не посмотришь. Может быть есть способ как то показать только те, где есть ошибки? Пробовал отключать остальные закладки (предупреждения, подсказки), не помогает. Приходится каждый плюсик раскрывать чтобы найти ошибку.
Возможно у Вас в проекте Viper задано поле "Название системы в репозиарии" а ресурс с уже докомпилированным интерфейсом подключен к репозитарию. В результате у вас получается альтер к вашему же альтеру.Алексей писал(а): Второй момент: есть альтер интерфейса katoss. При компиляции випер ругается на переменную ButSP словами "Уже есть переменная с таким именем : ButSP katoss.vip(стр. 11, поз. 40)". Меняю название переменно на ButSPP - компиляция проходит но начинает ругаться на то что есть уже такая функция LoadCfgBut. Добавляю к названию единичку - проходит.
Строчник спокойно компилит изначальный код.
Что ему не нравится в переменной и названии функции?
З.Ы.: так называю кнопку и функцию во всех альтерах, но это же локальные переменные, ничего не пойму...
В посленей версии по просьбе постетителей форума мы чинили работу поля "Название системы в репозиарии". Чтобы дополнительные ресурсы тянуть из репозитария Галактики, а не явно прописывать в проекте випера. Ранее репозитарий при компиляции не использовался, сейчас эта настройка работает.
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Viper
Ну не возможно, а точно подключен. Я ведь для юзеров и делаю альтеры. Тогда подскажите, как настроить проект для сборки ? Не собирать же строчником...LaaLaa писал(а): Возможно у Вас в проекте Viper задано поле "Название системы в репозиарии" а ресурс с уже докомпилированным интерфейсом подключен к репозитарию. В результате у вас получается альтер к вашему же альтеру.
В посленей версии по просьбе постетителей форума мы чинили работу поля "Название системы в репозиарии". Чтобы дополнительные ресурсы тянуть из репозитария Галактики, а не явно прописывать в проекте випера. Ранее репозитарий при компиляции не использовался, сейчас эта настройка работает.
Re: Viper
Алексей, по моему в этой ветке уже как то писал, но еще раз повторюсь:Алексей писал(а):LaaLaa писал(а):Ну не возможно, а точно подключен. Я ведь для юзеров и делаю альтеры. Тогда подскажите, как настроить проект для сборки ? Не собирать же строчником...
1) Считаю что использовать для разработки интерфейсов, компиляции и отладки живую БД и папку с продуктивными ресурсами (т.е. ту БД и тот каталог EXE на котором "сидят" все пользователи) Это равносильно самоубийству. Ваша маленькая ошибка в коде может убить базу и остановить производство на предприятии.
Настоятельно рекомендую на всех предприятиях, где кто-то пытается какие либо программы программировать. Для программистов создавать отделенную песочницу (игровую тестовую БД, отделенную изолированную папку EXE, лучше вообще все это в отдельной виртуальную машине VirtualBox). И только в этой песочнице упражняться в программировании. Пользователям патчи и ресурсы ставить только после тщательного тестирования.
2) Считаю что использовать при компиляции все без разбора ресурсы, подключенные через репозитарий к галактике. Тоже не совсем правильный подход. Все же лучше явно прописывать отдельные ресурсы в проекте Viper. Только те которые нужны для сборки именно ваших VIP-кодов. Помните что в языке VIP реализован статический механизм наследования. Код предка полностью сохраняется в ресурс потомка. При изменении кода предка ресурс потомка нужно обязательно тоже пересоздавать. При наличии большого количества взаимосвязанных ресурсов порядок их сборки должен от раза к разу строго соблюдаться. Ведь Alter Interface это по сути тоже наследование, только с подменой оригинального имени.
Опцию "Название системы в репозиарии" в проекте Viper, мы конечно починили по просьбе форумчан. Но в вашем случае ее нужно оставить пустой. А ресурсы указывать явно в отдельном списке дополнительно подключаемых ресурсных файлов.
Re: Viper
И к стати
Дистрибутив Viper теперь доступен на FTP Галактики!
По адресу ftp://ftp.galaktika.ru/pub/support/gala ... 810/VIPER/
По мере выпуска новых версий, файлы в этой папке будут регулярно обновляться.
Пользователям, которые приобрели лицензию «VIP – компилятор пользовательских интерфейсов», рекомендуем использовать в повседневной работе среду разработки Viper (взамен строчного компилятора и редактора Support).
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Viper
принятоLaaLaa писал(а):Алексей, по моему в этой ветке уже как то писал, но еще раз повторюсь:Алексей писал(а):LaaLaa писал(а):Ну не возможно, а точно подключен. Я ведь для юзеров и делаю альтеры. Тогда подскажите, как настроить проект для сборки ? Не собирать же строчником...
1) Считаю что использовать для разработки интерфейсов, компиляции и отладки живую БД и папку с продуктивными ресурсами (т.е. ту БД и тот каталог EXE на котором "сидят" все пользователи) Это равносильно самоубийству. Ваша маленькая ошибка в коде может убить базу и остановить производство на предприятии.
Настоятельно рекомендую на всех предприятиях, где кто-то пытается какие либо программы программировать. Для программистов создавать отделенную песочницу (игровую тестовую БД, отделенную изолированную папку EXE, лучше вообще все это в отдельной виртуальную машине VirtualBox). И только в этой песочнице упражняться в программировании. Пользователям патчи и ресурсы ставить только после тщательного тестирования.
2) Считаю что использовать при компиляции все без разбора ресурсы, подключенные через репозитарий к галактике. Тоже не совсем правильный подход. Все же лучше явно прописывать отдельные ресурсы в проекте Viper. Только те которые нужны для сборки именно ваших VIP-кодов. Помните что в языке VIP реализован статический механизм наследования. Код предка полностью сохраняется в ресурс потомка. При изменении кода предка ресурс потомка нужно обязательно тоже пересоздавать. При наличии большого количества взаимосвязанных ресурсов порядок их сборки должен от раза к разу строго соблюдаться. Ведь Alter Interface это по сути тоже наследование, только с подменой оригинального имени.
Опцию "Название системы в репозиарии" в проекте Viper, мы конечно починили по просьбе форумчан. Но в вашем случае ее нужно оставить пустой. А ресурсы указывать явно в отдельном списке дополнительно подключаемых ресурсных файлов.
указывать ресурсы я не прочь, но тогда почините ещё одну фишку дайте возможность указывать ресурсы без точного пути к ним, т.е. если указан один файл (без полного пути,кстати сейчас так нельзя указать, только выбором через конкретный путь.), то пусть он ищется в базовом каталоге ресурсов репозитария (название системы при этом я оставлю пустой).
А если ресурс указан с полным путем - то естественно подключать его учитывая его местонахождение. Нужно для того, чтобы быстро менять настройку на тот или иной ЕХЕ каталог Галактики...
А может дать возможность "исключать" ресурсы с типом "пользовательские" при подцепке репозитария? тогда "проблема" решиться...
Re: Viper
В этой части ничего не менялось. Посмотрите в диспетчер задач. При компиляции должен создаваться второй процесс Viper.exe в памяти. После завершения компиляции он остается в памяти и держит подключение к БД. Следующая компиляция повторно использует созданный процесс.Алексей писал(а):А что випер сейчас при каждой компиляции к БД коннектится? раньше вроде бы сразу раз и компил а щас как то дольше стало... как строчник.
Пункт меню "Проект \ Отключиться от БД" закрывает этот теневой процесс компиляции.
Возможно просто компилятор тихо падает при компиляции вашего исходника. Иногда такое случается. Именно по этому мы вынесли его в отдельный процесс, чтобы вместе с компилятором не упал редактор, чтобы не потерять текст который вводит программист.
Re: Viper
заценил редактор.
Лучше чем ничего.
Имею вопросы:
- как при расширении автозамены в редакторе переходить на следущую позицию курсора?
т.е. на знакоместа отмеченные | ?
- как в отладчике посмотреть текущее содержимое буфера-записи в katmc например? Вроде бы где то читал про такую возможность...
- есть ли возможность просматривать так же буфер записи таблицы в памяти?
Выскажусь чего не хватает (все строго ИМХО):
Ctrl-Space - должен показывать список возможных комплитов (аля визуал студия) - обсуждение было в 2009 году говорили что "вот вот сделаем" . Воз и ныне там.
katmc. - должен выводить названия всех полей таблицы katmc (это нетрудно реализовать ) В иделае по точке должны показываться все поля таблицы, или методы обьектного интерфейса или поля структуры или поля view интерфейса.
События редактора на которые можно вешать скрипты - даже не знаю, бедны очень. К примеру я хочу повесить скрипт на ввод символа в поле редактирования - чтобы он анализировал текст вокруг и делал что мне нужно (например тот же комплишен) - в списке событий не нашел "при вставке символа" например.
Документация - бедна,сделайте больше роликов на примере тех которые были на минском форуме.
Вам это не трудно а пользователи будут видеть все возможности редактора.
Ну и про прыжки по коду между функциями и местами деклараций я уж не говорю - это должно быть
сейчас есть только панель навигации но там не удобно. Могу предложить посмотреть в сторону ctags утилиты - прекрасно настраивается на синтаксис атлантиса и ищет 99% всех его конструкций достаточно быстро и без программирования (надо знать regexp'Ы).
Вывод ctags'а можно прикрутить уже к редактору чтобы он его понимал и таким образом - реализовывал бы эту нужную и полезную функцию.
Да и вообще - зря вы интеграцию с макросами не развиваете.
Вам бы пользователи сами кучу полезных скриптов понаписали лучшие из которых вы бы просто включили в дистрибутив и распространяли бы на всю страну. Не надо запихивать в код разные фичи типа автокомплита и прочего - сделайте возможность пользователям самим это писать на макроязыках и подкладывать в редактор как в других средах сделано. И потом тупо соберите лучшее что найдете... Все что для этого нужно - дать из макроязыков менять текст в редакторе и вызывать некоторые кастомные GUI окошки со списками выбора например (см. язык Slick Edit'a да и вообще любого редактора с развитыми макро-языками)
Пока что макросы - ну никак не применимы .
В качестве эталона можно привести все же Visual Studio или же Visual Slick Edit.
У меня всё.
Все ИМХО.
Лучше чем ничего.
Имею вопросы:
- как при расширении автозамены в редакторе переходить на следущую позицию курсора?
т.е. на знакоместа отмеченные | ?
- как в отладчике посмотреть текущее содержимое буфера-записи в katmc например? Вроде бы где то читал про такую возможность...
- есть ли возможность просматривать так же буфер записи таблицы в памяти?
Выскажусь чего не хватает (все строго ИМХО):
Ctrl-Space - должен показывать список возможных комплитов (аля визуал студия) - обсуждение было в 2009 году говорили что "вот вот сделаем" . Воз и ныне там.
katmc. - должен выводить названия всех полей таблицы katmc (это нетрудно реализовать ) В иделае по точке должны показываться все поля таблицы, или методы обьектного интерфейса или поля структуры или поля view интерфейса.
События редактора на которые можно вешать скрипты - даже не знаю, бедны очень. К примеру я хочу повесить скрипт на ввод символа в поле редактирования - чтобы он анализировал текст вокруг и делал что мне нужно (например тот же комплишен) - в списке событий не нашел "при вставке символа" например.
Документация - бедна,сделайте больше роликов на примере тех которые были на минском форуме.
Вам это не трудно а пользователи будут видеть все возможности редактора.
Ну и про прыжки по коду между функциями и местами деклараций я уж не говорю - это должно быть
сейчас есть только панель навигации но там не удобно. Могу предложить посмотреть в сторону ctags утилиты - прекрасно настраивается на синтаксис атлантиса и ищет 99% всех его конструкций достаточно быстро и без программирования (надо знать regexp'Ы).
Вывод ctags'а можно прикрутить уже к редактору чтобы он его понимал и таким образом - реализовывал бы эту нужную и полезную функцию.
Да и вообще - зря вы интеграцию с макросами не развиваете.
Вам бы пользователи сами кучу полезных скриптов понаписали лучшие из которых вы бы просто включили в дистрибутив и распространяли бы на всю страну. Не надо запихивать в код разные фичи типа автокомплита и прочего - сделайте возможность пользователям самим это писать на макроязыках и подкладывать в редактор как в других средах сделано. И потом тупо соберите лучшее что найдете... Все что для этого нужно - дать из макроязыков менять текст в редакторе и вызывать некоторые кастомные GUI окошки со списками выбора например (см. язык Slick Edit'a да и вообще любого редактора с развитыми макро-языками)
Пока что макросы - ну никак не применимы .
В качестве эталона можно привести все же Visual Studio или же Visual Slick Edit.
У меня всё.
Все ИМХО.
-
- Местный житель
- Сообщения: 251
- Зарегистрирован: 02 мар 2009, 12:59
- Откуда: ТопСофт
- Контактная информация:
Re: Viper
Используйте функцию Автозаполнение (окно "параметры" - закладка "снтакис/atlantis vip" - вкладка "автозаполнение"). В нем и символ позиции использовать можно и задать нужные вам шаблоны. Принцип работы: набрали краткое описание шаблона, нажали "ctrl+j" - замена на полное описание.igor писал(а):как при расширении автозамены в редакторе переходить на следующую позицию курсора?
т.е. на знакоместа отмеченные | ?
Если же просто нажать "ctrl+j", то появится список шаблонов, из которого можно выбоать нужный.
Горячую клавишу по вызову функции можно переназначить: 1) меню "Справка/Настройка клавиш"; 2) меню "Вид/Панели инструментов/Настройка" (рекомендую вариант 2).
меню "отладка/окно выражений и переменных". Ctrl+f5 стандартно добавление в него нужного выражения.igor писал(а):- как в отладчике посмотреть текущее содержимое буфера-записи в katmc например? Вроде бы где то читал про такую возможность...
нетigor писал(а):есть ли возможность просматривать так же буфер записи таблицы в памяти?
подсказчик в ближайших планах "вот вот сделаем"igor писал(а):..список возможных комплитов.. все поля таблицы, или методы обьектного интерфейса или поля структуры или поля view интерфейса..
Напишите, какие Вам нужны. Ранее про данную функцию никто не упоминал.igor писал(а):События редактора на которые можно вешать скрипты - даже не знаю, бедны очень.
Пока программисты все свои скрипты вызывали из меню "сценарий" или инструментов (в обеих случаях это возможно по горячим клавишам)
Именно сейчас идет полная (именно полная) актуализация справочной информации по среде, в которой описаны все функции и возможности редактора и среды в целом.igor писал(а):Документация
все тот же подсказчикigor писал(а):прыжки по коду
Вы имеете ввиду про окно структуры кода? Чего не хватает?igor писал(а):панель навигации
Возможно вы имеете ввиду про написание скрипов-плагинов?igor писал(а):Да и вообще - зря вы интеграцию с макросами не развиваете.
Она развита и доступно многое. Можно писать скрипты (например на VB) и в путь.... И GUI окна можно делать и с редактором химичить и с проектом работать. Это или плохо или вообще никак не документировано...пока! Практика показывает, что очень маленькое количество программистов любит и желает писать интересные скрипты для решения некоторых задач, куда проще предложение зарегистрировать . Если желаете, могу выложить для ознакомления некоторый набор готовых vb-скриптов для начального ознакомления. API будет описан в новой документации.
Пишите, что чего еще вам не хватает в випере как от редактора. Возможно это уже реализовано )
Re: Viper
конкретный пример:Bender писал(а):В нем и символ позиции использовать можно и задать нужные вам шаблоны.
шаблон:
function | : | ;
begin
|
end;
очевидно что | - означают что курсор будет туда переходить по какой то клавише. Т.е. я набираю fun <ctrl-j> курсор встает на
function _ : | ;
я ввожу имя функции, как (по какой клавише перейти на следующее знакоместо для ввода типа возвращаемого значения? У вас же должны быть прыжки по шаблону то в разные его места? так понятно?
я туда вводил имена переменных - они показываются. при попытке посмотреть например содержимое текущей записи в таблице katmc по которой например бежит код в данный момент - ввожу в это окно katmc и отладчик мне напротив рисует "?" - как посмотреть то буфер текущей записи в таблице? Так понятнее?Bender писал(а):окно выражений и переменных
ну самое-самое например: OnChar - вызывается всякий раз когда я ввел алфавитно - цифровой символ в редактируемый текст.Bender писал(а):Напишите, какие Вам нужны.
на событие можно навесить например показ всякого по вводу '.' - классический пример всех комплитов - ввели точку, поймали слово которое находится слева (апи редактора должно давать возможность узнать - номер строки в файле, номер позиции в файле, вернуть текущую строку, вернуть текущее слово" ) и если например это таблица - показать все поля этой таблицы в GUI-вом picklist 'e аля визуал студия. Если введенный символ - не триггер '.' то выходим из макроса позволяя стандартному обработчику ввода символа завершить свою работу. АПИ редактора должно давать возможность в макросах изменять текст, слово, строку, показывать гуи элементы и т.д.
не совсем. например: курсор находится на имени функции - нажимаю Ctrl-G (к примеру) и перехожу на место в файле где эта функция описана. Не надо мне подсказчик показывать, просто перекинтьте на код функции с возможностью возврата обратно по какой либо клавише... ну тут вариации конечно но как то так... можно и контекстное меню навернуть в котором давать эту возможность.Bender писал(а): igor писал(а):прыжки по коду
все тот же подсказчик
она показывает в настоящее время только для текущего файла?Bender писал(а):Вы имеете ввиду про окно структуры кода? Чего не хватает?
СлабО показать дерево интерфейса со всеми окнами. обработчиками, функциями , и т.д. в дереве ? При том что интерфейс где все это написано - размазан по 50 файлам (классический исходник галактики )
Примеры - в студию конечно же, любопытно будет взглянуть.Bender писал(а):И GUI окна можно делать и с редактором химичить и с проектом работать. Это или плохо или вообще никак не документировано...пока! Практика показывает, что очень маленькое количество программистов любит и желает писать интересные скрипты для решения некоторых задач, куда проще предложение зарегистрировать .
Насчет "практика показывает" - ну может в галактике это и так, люди привыкли что есть саппорт куда все можно свалить.
Но зря вы так про программистов думаете. Они ленивы - да, и это сподвигнет их написать разные макросы которые им облегчать жизнь ПОТОМ . Лень - двигатель прогресса!.
Классический пример - www.vim.org редактор с развитой системой макросов ( 3798 макросов в настоящее время )
Цветовые схемы кстати неплохо было бы прикрутить как то а то уж больно убога та что идет из коробки... но это уже когда сделаете комплишен (если сделаете) и прыжки по тегам в файлах. Только не надо вот свистелко-перделок типа "а давайте риббон прикрутим - он так клёво смотрится ну давайте же мы тоже будем как типо ворд!"
приоритет N 1 имхо - Ctrl-Space и все что с ним связано в Visual Studio (эталон) и не надо говорить что "да ну нафиг не надо это" вся страна пользуется - всей стране нравится. сделайте уже - в 21 веке живем!
Вещь перспективная если допилите!
Ну и потом сразу же принимайтесь за дизайнер гуевых интерфейсов для галактики а то стыдно перед соседними отделами да...
все имхо.
Re: Viper
Еще вопрос - поддержка FCOM форм есть какая нибудь - ну например прыгать по имени филдса на место где он выводится на форме и
в обратном порядке ? Вот это самое-самое щас хочется...
в обратном порядке ? Вот это самое-самое щас хочется...
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Re: Viper
вот это невероятной крутости еще бы и обратную возможность .. у клиента одного, филдсы есть на 10 строчек вложеных ифовigor писал(а):Еще вопрос - поддержка FCOM форм есть какая нибудь - ну например прыгать по имени филдса на место где он выводится на форме и
в обратном порядке ? Вот это самое-самое щас хочется...
Время ведет!