
| Автор | Сообщение |
|---|---|
|
Сообщение создано: 13. 09. 2010 [17:23]
|
|
|
aNdrOS
Андрей
Создатель темы
Зарегистрирован(а) с: 07.05.2010
Сообщения: 102
|
Прошу специалистов помочь разобраться со сценарием виджета "корневая страница" в Демо, так как комментарии и названия переменных не всегда дают понять зачем они нужны. Думаю разбор скрипта будет полезен многим новичкам и в дальнейшем, можно будет добавить изменения в сам Демо-проект. Сразу постараюсь предварить отсылки к вики, докам, RTFM и т.д. Прежде чем задавать вопрос я поковырял скрипт и посерчил по вики-проекта. Описание некоторых функций вообще отсутствует, есть лишь отчет о том, что она реализована (например, vcaWdgList). По другим функциям даны короткие описания (FlibSys), в одном случае в примере на вики, похоже есть опечатка (strParsePath). Так как движок форума не поддерживает вставку текстов исходников, а разрушать структуру и подсветку не хочется, то буду вставлять скриншоты сценария по кусочкам. Итак, первый кусочек: ![]() Здесь вроде бы все понятно, если у спецов есть что добавить будет очень хорошо. Комментарии вперемешку с моими предположениями и вопросами=) [Сообщение редактировалось 1 раз(а), в последний раз 13.09.2010 в 17:25.] |
|
Сообщение создано: 14. 09. 2010 [09:24]
|
|
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3797
|
"aNdrOS" wrote: Сразу постараюсь предварить отсылки к вики, докам, RTFM и т.д. Прежде чем задавать вопрос я поковырял скрипт и посерчил по вики-проекта. Описание некоторых функций вообще отсутствует, есть лишь отчет о том, что она реализована (например, vcaWdgList). Да что Вы говорите! А здесь: http://wiki.oscada.org/Doc/VCAEngine?v=w7f#h668-23 Всё что использовано описано! "aNdrOS" wrote: Так как движок форума не поддерживает вставку текстов исходников, а разрушать структуру и подсветку не хочется, то буду вставлять скриншоты сценария по кусочкам. Да ну! А это? JAVASCRIPT 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.
|
|
Сообщение создано: 14. 09. 2010 [18:51]
|
|
|
aNdrOS
Андрей
Создатель темы
Зарегистрирован(а) с: 07.05.2010
Сообщения: 102
|
"roman" wrote: P.S. Вообще это уже устаревший скрипт и он уже почти месяц как полностью переписан на новое API Да, у меня старая версия все время использовалась и при переустановке пакета с demo база демо-проекта не перезаписывалась. Возникает вопрос: можно ли перенести виджеты и элементы управления из одной базы (например, Демо) в другую (например, Демо из новой версии скады), чтобы не перерисовывать их опять? |
|
Сообщение создано: 14. 09. 2010 [18:56]
|
|
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3797
|
"aNdrOS" wrote: Возникает вопрос: можно ли перенести виджеты и элементы управления из одной базы (например, Демо) в другую (например, Демо из новой версии скады), чтобы не перерисовывать их опять? Можно Learn, learn and learn better than work, work and work.
|
|
Сообщение создано: 14. 09. 2010 [19:01]
|
|
|
aNdrOS
Андрей
Создатель темы
Зарегистрирован(а) с: 07.05.2010
Сообщения: 102
|
"roman" wrote: "aNdrOS" wrote: Возникает вопрос: можно ли перенести виджеты и элементы управления из одной базы (например, Демо) в другую (например, Демо из новой версии скады), чтобы не перерисовывать их опять? Можно как? |
|
Сообщение создано: 14. 09. 2010 [19:21]
|
|
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3797
|
Создание экспортной библиотеки Связывание её с экспортной БД Копирование нужного в экспортную библиотеку Подключение экспортной БД к новой конфигурации Загрузка с экспортной БД, на странице есть специальная кнопка Копирование с экспортной БД в новую конфигурацию. А вообще лучше всегда свои данные хранить в отдельной БД и библиотеках, и тогда этот процесс свернётся в замену файлов БД с библиотеками, которые вобщем-то унифицируются и в дальнейшем будут распространяться и поддерживаться отдельно. Learn, learn and learn better than work, work and work.
|
|
Сообщение создано: 16. 09. 2010 [17:33]
|
|
|
aNdrOS
Андрей
Создатель темы
Зарегистрирован(а) с: 07.05.2010
Сообщения: 102
|
"roman" wrote: Создание экспортной библиотеки Связывание её с экспортной БД Копирование нужного в экспортную библиотеку Подключение экспортной БД к новой конфигурации Загрузка с экспортной БД, на странице есть специальная кнопка Копирование с экспортной БД в новую конфигурацию. Экспортная библиотека -- это обычная библиотека, просто которую мы хотим экспортировать в другую базу? Экспортная БД -- это новая БД, которая предназначена для хранения планируемой библиотеки? Я копирую библиотеку, в экспортную БД: 1. Создаю новую БД с идентификаторо MyExportDB 2. Отмечаю галочку на странице БД 2. В свойствах библиотеки в поле "БД контейнера" указываю SQLite.MyExportDB.mylib 3. Нажимаю "сохранить визуальный элемент в БД" с выделением нужной мне библиотеки 4. В окне MyExportDB наблюдаю несколько появившихся таблиц. 5 Нажимаю в Системном конфигураторе кнопку "Сохранить в БД" 6. После перезагрузки захожу в свойства базы MyExportDB и там отсутствуют сохраненные таблицы библиотеки. Какой шаг я пропустил? |
|
Сообщение создано: 16. 09. 2010 [19:52]
|
|
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3797
|
"aNdrOS" wrote: Экспортная библиотека -- это обычная библиотека, просто которую мы хотим экспортировать в другую базу? Экспортная БД -- это новая БД, которая предназначена для хранения планируемой библиотеки? Да "aNdrOS" wrote: Я копирую библиотеку, в экспортную БД: 1. Создаю новую БД с идентификаторо MyExportDB 2. Отмечаю галочку на странице БД Что за галочку? "aNdrOS" wrote: 6. После перезагрузки захожу в свойства базы MyExportDB и там отсутствуют сохраненные таблицы библиотеки. Какой шаг я пропустил? Не включена Learn, learn and learn better than work, work and work.
|
|
Сообщение создано: 16. 09. 2010 [22:15]
|
|
|
aNdrOS
Андрей
Создатель темы
Зарегистрирован(а) с: 07.05.2010
Сообщения: 102
|
Галочка -- "включить БД". И После перезагрузки включал галочку. Таблиц не было. |
|
Сообщение создано: 17. 09. 2010 [09:10]
|
|
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3797
|
"aNdrOS" wrote: Галочка -- "включить БД". И После перезагрузки включал галочку. Таблиц не было. Нет такой. Есть "Включен" в группе "Состояние" и "Включать" в группе "Конфигурации". Про разницу читаем в документе описания, разделе "Конфигурация" http://wiki.oscada.org/Doc/OpisanieProgrammy Learn, learn and learn better than work, work and work.
|