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

Re: Viper

Добавлено: 01 дек 2010, 07:28
Алексей
А следующая версия випера готова? а то мы скоро обновлятся будем на 4.34

Re: Viper

Добавлено: 06 дек 2010, 13:47
LaaLaa
Алексей писал(а):А следующая версия випера готова? а то мы скоро обновлятся будем на 4.34
К сожалению возникли трудности с проверкой работоспособности Viper-a. Наверно лучше подождать 4.35 версии.

Re: Viper

Добавлено: 27 дек 2010, 12:07
Алексей
БД на одной сервере, ключ на другом.
при компиляции стало появлятся сообщение
Ошибка: Система с кодом "" не найдена в базе данных базе данных
в количестве трёх штук.

Если зайти в настройки проекта и просто передёрнуть лицензию на другую и на новую - сообщения пропадают.
Название системы в репозитарии прописано, но когда жму выпадающий список - ничего не выпадает.

Re: Viper

Добавлено: 12 янв 2011, 10:53
Алексей
5.4.35 атлантис вышел.... :?:

Re: Viper

Добавлено: 12 янв 2011, 15:04
LaaLaa
Готова очередная сборка Viper (январь 2011).
Адреса для загрузки:

Атлантис 5.4.35 - http://laalaa.googlecode.com/files/vipe ... anuary.rar
Подробный список изменений на 12.01.2010 - http://laalaa.googlecode.com/files/vipe ... istory.pdf
Что нового? Краткое описание основных изменений.

1. Доработаны и усовершенствованы инструменты отладки. Доработки коснулись «Окна локальных переменных» и «Окна выражений и переменных» (в прошлом – Окно переменных).

1.1. Удобное отображение отлаживаемой информации.
Данные переменных, структур, массивов, буферов записи БД отображаются в виде древовидной структуры. Поддерживается произвольный уровень вложенности данных (массивы структур, вложенные структуры и т.п.);

1.2. Изменение значений.
В режиме отладки доступно интерактивное изменение значения, как обычной переменной, так и элемента массива или поля структуры;

1.3. Drag and Drop.
Теперь переменную (выражение) можно «перетянуть» мышкой в окно «Выражения и переменные» непосредственно из области редактора кода;

1.4. Интерактивная сортировка.
Значения полей, содержащиеся в данных окнах можно отсортировать по по имени, по значению, по типу;

1.5. Работа с буфером обмена.
Используя команды выпадающего меню, добавлена возможность копировать имя или значение переменной в буфер обмена;

1.6. Сохранение и восстановление списка выражений.
Реализовано автоматическое сохранение в текущем проекте ширины столбцов функциональных окон и данных окна «Выражения и переменные»;

1.7. Подсветка измененных значений.
Переменные, изменившиеся с прошлого шага, автоматически выделяются цветом;

1.8. Изменение списка выражений.
В процессе отладки, для инструментального окна «Выражения и переменные» осуществлена функция интерактивного изменения последовательности выражений и выбора способа отображения структурированных данных (с полным путем или только сами поля);

1.9. Неопределенные значения.
Теперь неопределенные значения ( пустое поле или ссылка) в окне «Выражения и переменные» отображаются в виде вопросительного знака «?»;
Замечание. Для повседневной работы рекомендуется использовать окно «Выражения и переменные», оно отображает информацию о тех данных, которые указал пользователь. В то время как окно «Локальные переменные» отображает данные всех переменных, которые доступны в текущем контексте. При большом количестве значений это может замедлить работу отладчика. Данное окно лучше всего использовать периодически или в небольших модулях.

2. Сортировка точек останова.
Реализована сортировка данных в окне «Точки останова». Теперь список точек останова можно сортировать по номерам строк, именам файлов и функциям;

3. Окно “Структура кода”.
Создано функциональное окно “Структура кода” для отображения основных элементов языка VIP (интерфейсы, окна, обработчики, функции и др.), по в тексту исходного кода открытого в редакторе.

Наполнение окна “Структуры кода” происходит автоматически во время работы с кодом. Набор отображаемых элементов может быть изменен в “Параметрах”. Возможен переход от элементов окна “Структуры кода” к позиции соответствующей конструкции в редакторе и обратно. Для элементов окна предусмотрена возможность сортировки (по названию, номеру строки), причем при перестроении дерева - сортировка, а также состояние открытых/закрытых узлов дерева восстанавливается. Разбор исходника для построения его структуры всегда осуществляется от начала до конца, и в случае обнаружения некорректных участков кода – в соответствующей конструкции дерева окна “Структуры кода” отображаются предупреждения.

4. Отключение БД.
Реализована возможность отключения от базы данных в пункте меню “Проект” - “Отключиться от БД”. Подключение к БД производится автоматически в момент запуска компиляции.

5. Уведомление о программном сбое.
Доработано окно уведомления об ошибке, возникающей при некорректной работе приложения Viper, т.е. программном сбое. Кроме информации с описанием ошибки добавлены функциональные кнопки: для просмотра или отправки в службу поддержки протокола с полной информацией об истории возникновения ошибки, а так же функции по завершению или продолжению процесса приложения Viper.

Re: Viper

Добавлено: 12 янв 2011, 16:40
LaaLaa
Для пользователей Viper мы подготовили три обучающих видео ролика:

Создание и настройка проекта
http://www.youtube.com/watch?v=8zQ7q_8TCxg

Компиляция и запуск интерфейса средствами Viper
http://www.youtube.com/watch?v=oi82y8D6rQA

Пример использования инструментов отладки
http://www.youtube.com/watch?v=NpWusM_1-eM


Ссылки на эти видео для загрузки и просмотра в автономном режиме (формат HD):
http://laalaa.googlecode.com/files/vipe ... roject.mp4
http://laalaa.googlecode.com/files/vipe ... nd-run.mp4
http://laalaa.googlecode.com/files/viper3-debug.mp4

Re: Viper

Добавлено: 13 янв 2011, 11:30
Masygreen
еще не смотрел но спасиба :) появление мануалов это супер ! Наверно мануалы лучше продублировать в обмен опытом ...

Re: Viper

Добавлено: 13 янв 2011, 13:00
Masygreen
как ту подкаты делать ? Это при сохранении настроек

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

Error report file: E:\Downloads\viper\viper-2011-5435-january\exe\ViperError.Log
Exception class  : EOleException
Exception message: Параметрический Node не является дочерним для этого узла Node.
Exception address: 0312BD7B
Sender class     : TCoreIDE
Sender address   : 034A8650
------------------------------------------------------------------------------
Stack list, generated [13.01.2011 10:59:16.957]
(0032AD76){VipIDE.dll  } [0312BD76] XMLSerializer.TXMLSerializer.DelEmptyRoot (Line 742, "XMLSerializer.pas" + 21) + $19
(000069C5){VipIDE.dll  } [02E079C5] System.@CheckAutoResult + $11
(0030F03C){VipIDE.dll  } [0311003C] CoreIDE.TCoreIDE.SaveToXml (Line 9541, "CoreIDE.pas" + 220) + $A
(00311EAE){VipIDE.dll  } [03112EAE] CoreIDE.SaveCoreIDE (Line 9828, "CoreIDE.pas" + 17) + $8
(00265AE5){VipIDE.dll  } [03066AE5] dlgOptions.TOptionsDialog.WriteSettings (Line 4071, "dlgOptions.pas" + 306) + $0
(0026671F){VipIDE.dll  } [0306771F] dlgOptions.TOptionsDialog.btnOKClick (Line 4329, "dlgOptions.pas" + 2) + $0
(00089C64){VipIDE.dll  } [02E8AC64] Controls.TControl.Click + $64
(0008D763){VipIDE.dll  } [02E8E763] Controls.TWinControl.WndProc + $4FB
(0004A85C){VipIDE.dll  } [02E4B85C] StdCtrls.TButtonControl.WndProc + $6C
(0008D8AF){VipIDE.dll  } [02E8E8AF] Controls.DoControlMsg + $23
(0008D763){VipIDE.dll  } [02E8E763] Controls.TWinControl.WndProc + $4FB
(0006B2F7){VipIDE.dll  } [02E6C2F7] Forms.TCustomForm.WndProc + $553
(0008CE8C){VipIDE.dll  } [02E8DE8C] Controls.TWinControl.MainWndProc + $2C
(0002EF78){VipIDE.dll  } [02E2FF78] Classes.StdWndProc + $14
(0008D85A){VipIDE.dll  } [02E8E85A] Controls.TWinControl.DefaultHandler + $D2
(0008D763){VipIDE.dll  } [02E8E763] Controls.TWinControl.WndProc + $4FB
(0004A85C){VipIDE.dll  } [02E4B85C] StdCtrls.TButtonControl.WndProc + $6C
(0002EF78){VipIDE.dll  } [02E2FF78] Classes.StdWndProc + $14
------------------------------------------------------------------------------
System   : Windows Server 2008 Advanced Server, Version: 6.0, Build: 1772, "Service Pack 2"
Processor: Intel, Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz, 2400 MHz MMX SSE SSE2 SSE3 SSSE3 64 bits DEP
Memory   : 2045; free 775
Display  : 1360x768 pixels, 32 bpp

Re: Viper

Добавлено: 13 янв 2011, 14:05
Masygreen
Таки собрал достаточно сложный проект - текущие замечания.
1. Необходима инструкция-рекомендация по формированию исходного кода.
допустим:
1.1 К прокету добавляется один файл prj.prj
(
prj.prj - и что в этом файле должно быть

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

#define ComponentVersion
#component "OD_10_6_17" - вот эта строчка навернно лишня? 
#Include ExcelFun.Inc
#include Table.vih
#make "*.vip"
)

1.2 в настойках проекта добавляем остальные файлы проекта (раздел файлы) - дабы можно было ставить в них точки остановки

1.3 для того чтоб у вас работал вывод в эксель включите в проектный файл prj.prj
#Include ExcelFun.Inc
В окне настройки проекта подключить галактический ресурс ExtFun.res.

и т.д.

есть вопросы которые возникают через каждые 5-10 страниц... надо их упорядочить сквозным примером. Нужна выработка единой стилистики написания программы - это упростит разработку среды випера для вас и обучение пользованию для нас...

Re: Viper

Добавлено: 13 янв 2011, 14:11
Masygreen
есть косяк
если в интерфейсе вызываются последовательно еще интерфейсы

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

   Runinterface(LoadData01,_d1,_d2);
   Runinterface(PrintExcel,_d1,_d2);
и точки останова есть и LoadData01 и PrintExcel, то после после выхода из

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

Runinterface(LoadData01,_d1,_d2);
на вызове

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

Runinterface(PrintExcel,_d1,_d2);
будет рантайм

Re: Viper

Добавлено: 13 янв 2011, 14:28
LaaLaa
Masygreen спасибо за ценные сообщения - будем искать решение.

Re: Viper

Добавлено: 13 янв 2011, 16:53
Masygreen
При сохранении настроек - косяк был в правах доступа... если запустить випер с правами админстратора все проходит,

В сохранение я бы добавил и настройки отладчика.

+ там где добавляются каталоги везде добавить возможность ручной вставки .. а то выбирать неудобно...

Re: Viper

Добавлено: 13 янв 2011, 16:59
Masygreen
и после отработки компилятора можно где нибудь вставить аналог нижеприведенного ?

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

if exist out rd /S /Q out
if exist data rd /S /Q data
if exist tmp  rd tmp
if exist *.tmp del *.tmp
if exist *.log del *.log
if exist Atlantis*.res del Atlantis*.res
а то этот мусор в каталоге напрягает...

Re: Viper

Добавлено: 13 янв 2011, 17:25
LaaLaa
Алексей писал(а):БД на одной сервере, ключ на другом. при компиляции стало появлятся сообщение
Ошибка: Система с кодом "" не найдена в базе данных базе данных
в количестве трёх штук.

Ошибка Ошибка: Система с кодом "" не найдена в базе данных базе данных связана стем что по каким то причинам в вашей БД испортился репозитарий. Точнее в табличке Components поле ModuleCode ссылается на отсутствующий ComponentModules.atl_nrec. Найти все такие записи можете в Support выполнив запрос:

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

select Components.atl_nrec, Components.ModuleCode, ComponentModules.atl_nrec from Components, ComponentModules where (( Components.modulecode == ComponentModules.atl_nrec )) and (Components.modulecode <> 0) and (not isvalidall(tnComponentModules));
Встречал также аналогичное сообщение вида Ошибка: Пользователь с кодом "" не найден в базе данных базе данных. Аналогично была битая ссылка в таблице ComponentUsers поле UserCode. Аналогичный запрос для поиска таких битых записей:

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

select ComponentUsers.atl_nrec, ComponentUsers.usercode, X$USERS.atl_nrec from ComponentUsers, x$users where (( ComponentUsers.usercode == X$USERS.atl_nrec )) and (ComponentUsers.usercode <> 0) and (not isvalidall(tnX$USERS));
Вероятно какие то манипуляции с таблицами репозитария привели к этим ошибкам. Желательно выяснить как Вам "удалось испортить" эти таблицы. И устранить причину.

А почистить битые записи можете также с помощью Support-а.

Re: Viper

Добавлено: 13 янв 2011, 19:17
Алексей
спасибо, завтра займусь этим. но странно то, что как только я перевыбираю параметры лицензирования в проекте (лицензия, ключ) и собираю заново - эти сообщения пропадают.
но завтра тоже гляну.

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