Written on: 31. 01. 2012 [10:21]
|
yozhik
Алексей Николаев
Topic creator
registered since: 29.11.2010
Posts: 127
|
Есть задача в рантайме скриптом страницы RootSo добаить мнемосхему (из библиотеки) в /pg_so/pg_mn. Подходящая на первый взляд конструкция nw = this["pg_mn"].wdgAdd( "pg_1", "mnemo", "/wlb_project/wdg_mnemo" );
SYS.messDebug( "nw", nw ); , однако, не работает. Работает, однако, nw = this.wdgAdd( "pg_1", "mnemo", "/wlb_project/wdg_mnemo" );
SYS.messDebug( "nw", nw );
В самом логическом контейнере скрипт не написать (хотя это решило бы проблему). В связи с этим вопрос: а как добавить в рантайме страницу в логический контейнер?
|
Written on: 31. 01. 2012 [10:38]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"yozhik" wrote:
Есть задача в рантайме скриптом страницы RootSo добаить мнемосхему (из библиотеки) в /pg_so/pg_mn.
И зачем?
"yozhik" wrote:
Подходящая на первый взляд конструкция nw = this["pg_mn"].wdgAdd( "pg_1", "mnemo", "/wlb_project/wdg_mnemo" );
SYS.messDebug( "nw", nw ); , однако, не работает.
Естественно потому как страницы-"логический контейнер" не может иметь виджетов, который таким образом Вы пытаетесь добавить! А добавлять нужно страницу в логический контейнер, что не имеет смысла!
"yozhik" wrote:
Работает, однако, nw = this.wdgAdd( "pg_1", "mnemo", "/wlb_project/wdg_mnemo" );
SYS.messDebug( "nw", nw );
Естественно.
"yozhik" wrote:
В самом логическом контейнере скрипт не написать (хотя это решило бы проблему). В связи с этим вопрос: а как добавить в рантайме страницу в логический контейнер?
Ещё раз. В этом нет ни малейшего смысла, потому как можно добавить страницу в проект по нормальной схеме и видимой по умолчанию от этого она не станет. Видимость-же регулируется стандартным образом без подобного вида извращений.
Learn, learn and learn better than work, work and work.
|
Written on: 31. 01. 2012 [11:14]
|
yozhik
Алексей Николаев
Topic creator
registered since: 29.11.2010
Posts: 127
|
"roman" wrote:
И зачем?
Не для задания видимости. Есть несколько проектов с одинаковой структурой (проектом) визуализации, но разным содержанием мнемосхем. Так вот хочется проект визуализации хранить в одной БД, а библиотека мнемосхем у каждого проекта своя. Тогда в конфигурационном xml файле при загрузке можно цеплять к проекту нужную БД с мнемосхемами и, соответственно, добавлять в проект мнемосхему при старте скрипта. Может есть способ этого достичь лучше?
"roman" wrote:
А добавлять нужно страницу в логический контейнер, что не имеет смысла!
Почему не имеет смысла добавлять страницы в логический контейнер? Он ведь и создан для того чтобы быть контейнером для страниц. Если это делается из Vision-разработка, то и в рантайме значит можно было бы сделать добавление.
[This article was edited 1 times, at last 31.01.2012 at 11:20.]
|
Written on: 01. 02. 2012 [06:53]
|
yozhik
Алексей Николаев
Topic creator
registered since: 29.11.2010
Posts: 127
|
Изменил тип с Logical container на Container. Виджет, соответственно, добавился, но как виджет (wdg_), а не как страница (pg_). И реализованная в скрипте RootSo навигация не осуществляется.
Роман, Вы не видите смысла в добавлении методов pgAdd и pgDel (по аналогии с wdgAdd и wdgDel) в OpenSCADA?
|
Written on: 01. 02. 2012 [09:38]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"yozhik" wrote:
Роман, Вы не видите смысла в добавлении методов pgAdd и pgDel (по аналогии с wdgAdd и wdgDel) в OpenSCADA?
Не вижу и об этом я говорил выше.
Learn, learn and learn better than work, work and work.
|