Author |
Message |
Written on: 13. 09. 2010 [17:23]
|
aNdrOS
Андрей
Topic creator
registered since: 07.05.2010
Posts: 102
|
Прошу специалистов помочь разобраться со сценарием виджета "корневая страница" в Демо, так как комментарии и названия переменных не всегда дают понять зачем они нужны. Думаю разбор скрипта будет полезен многим новичкам и в дальнейшем, можно будет добавить изменения в сам Демо-проект.
Сразу постараюсь предварить отсылки к вики, докам, RTFM и т.д. Прежде чем задавать вопрос я поковырял скрипт и посерчил по вики-проекта. Описание некоторых функций вообще отсутствует, есть лишь отчет о том, что она реализована (например, vcaWdgList). По другим функциям даны короткие описания (FlibSys), в одном случае в примере на вики, похоже есть опечатка (strParsePath).
Так как движок форума не поддерживает вставку текстов исходников, а разрушать структуру и подсветку не хочется, то буду вставлять скриншоты сценария по кусочкам.
Итак, первый кусочек:
Здесь вроде бы все понятно, если у спецов есть что добавить будет очень хорошо.
Комментарии вперемешку с моими предположениями и вопросами=)
[This article was edited 1 times, at last 13.09.2010 at 17:25.]
|
Written on: 14. 09. 2010 [09:24]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"aNdrOS" wrote:
Сразу постараюсь предварить отсылки к вики, докам, RTFM и т.д. Прежде чем задавать вопрос я поковырял скрипт и посерчил по вики-проекта. Описание некоторых функций вообще отсутствует, есть лишь отчет о том, что она реализована (например, vcaWdgList).
Да что Вы говорите! А здесь: http://wiki.oscada.org/Doc/VCAEngine?v=w7f#h668-23
Всё что использовано описано!
"aNdrOS" wrote:
Так как движок форума не поддерживает вставку текстов исходников, а разрушать структуру и подсветку не хочется, то буду вставлять скриншоты сценария по кусочкам.
Да ну! А это?
for( i = 0; i < soLst.length; i++ )
{
if( !(curSO=soLst[i].slice(3).toInt()) ) continue;
soW = this["wdg_so"+curSO];
soW.attrSet("name",this["pg_"+curSO].attr("name"));
soDscr = this["pg_"+curSO].attr("dscr");
if( soDscr.length ) soW.attrSet("tipTool",soDscr);
soW.attrSet("en",1);
}
P.S. Вообще это уже устаревший скрипт и он уже почти месяц как полностью переписан на новое API
Learn, learn and learn better than work, work and work.
|
Written on: 14. 09. 2010 [18:51]
|
aNdrOS
Андрей
Topic creator
registered since: 07.05.2010
Posts: 102
|
"roman" wrote:
P.S. Вообще это уже устаревший скрипт и он уже почти месяц как полностью переписан на новое API
Да, у меня старая версия все время использовалась и при переустановке пакета с demo база демо-проекта не перезаписывалась.
Возникает вопрос: можно ли перенести виджеты и элементы управления из одной базы (например, Демо) в другую (например, Демо из новой версии скады), чтобы не перерисовывать их опять?
|
Written on: 14. 09. 2010 [18:56]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"aNdrOS" wrote:
Возникает вопрос: можно ли перенести виджеты и элементы управления из одной базы (например, Демо) в другую (например, Демо из новой версии скады), чтобы не перерисовывать их опять?
Можно
Learn, learn and learn better than work, work and work.
|
Written on: 14. 09. 2010 [19:01]
|
aNdrOS
Андрей
Topic creator
registered since: 07.05.2010
Posts: 102
|
"roman" wrote:
"aNdrOS" wrote:
Возникает вопрос: можно ли перенести виджеты и элементы управления из одной базы (например, Демо) в другую (например, Демо из новой версии скады), чтобы не перерисовывать их опять?
Можно
как?
|
Written on: 14. 09. 2010 [19:21]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
Создание экспортной библиотеки
Связывание её с экспортной БД
Копирование нужного в экспортную библиотеку
Подключение экспортной БД к новой конфигурации
Загрузка с экспортной БД, на странице есть специальная кнопка
Копирование с экспортной БД в новую конфигурацию.
А вообще лучше всегда свои данные хранить в отдельной БД и библиотеках, и тогда этот процесс свернётся в замену файлов БД с библиотеками, которые вобщем-то унифицируются и в дальнейшем будут распространяться и поддерживаться отдельно.
Learn, learn and learn better than work, work and work.
|
Written on: 16. 09. 2010 [17:33]
|
aNdrOS
Андрей
Topic creator
registered since: 07.05.2010
Posts: 102
|
"roman" wrote:
Создание экспортной библиотеки
Связывание её с экспортной БД
Копирование нужного в экспортную библиотеку
Подключение экспортной БД к новой конфигурации
Загрузка с экспортной БД, на странице есть специальная кнопка
Копирование с экспортной БД в новую конфигурацию.
Экспортная библиотека -- это обычная библиотека, просто которую мы хотим экспортировать в другую базу?
Экспортная БД -- это новая БД, которая предназначена для хранения планируемой библиотеки?
Я копирую библиотеку, в экспортную БД:
1. Создаю новую БД с идентификаторо MyExportDB
2. Отмечаю галочку на странице БД
2. В свойствах библиотеки в поле "БД контейнера" указываю SQLite.MyExportDB.mylib
3. Нажимаю "сохранить визуальный элемент в БД" с выделением нужной мне библиотеки
4. В окне MyExportDB наблюдаю несколько появившихся таблиц.
5 Нажимаю в Системном конфигураторе кнопку "Сохранить в БД"
6. После перезагрузки захожу в свойства базы MyExportDB и там отсутствуют сохраненные таблицы библиотеки.
Какой шаг я пропустил?
|
Written on: 16. 09. 2010 [19:52]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"aNdrOS" wrote:
Экспортная библиотека -- это обычная библиотека, просто которую мы хотим экспортировать в другую базу?
Экспортная БД -- это новая БД, которая предназначена для хранения планируемой библиотеки?
Да
"aNdrOS" wrote:
Я копирую библиотеку, в экспортную БД:
1. Создаю новую БД с идентификаторо MyExportDB
2. Отмечаю галочку на странице БД
Что за галочку?
"aNdrOS" wrote:
6. После перезагрузки захожу в свойства базы MyExportDB и там отсутствуют сохраненные таблицы библиотеки.
Какой шаг я пропустил?
Не включена
Learn, learn and learn better than work, work and work.
|
Written on: 16. 09. 2010 [22:15]
|
aNdrOS
Андрей
Topic creator
registered since: 07.05.2010
Posts: 102
|
Галочка -- "включить БД". И После перезагрузки включал галочку. Таблиц не было.
|
Written on: 17. 09. 2010 [09:10]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"aNdrOS" wrote:
Галочка -- "включить БД". И После перезагрузки включал галочку. Таблиц не было.
Нет такой. Есть "Включен" в группе "Состояние" и "Включать" в группе "Конфигурации". Про разницу читаем в документе описания, разделе "Конфигурация" http://wiki.oscada.org/Doc/OpisanieProgrammy
Learn, learn and learn better than work, work and work.
|