Вверх ↑
Этот топик читают: Гость
Ответов: 278
Рейтинг: 6
#1: 2016-11-25 13:48:24 ЛС | профиль | цитата
Задача в том чтобы из разных форм и контейнеров схемы вызывать одно и то же событие. Событие состоит из множества элементов так что копировать его во все участки не хорошо) Рисовать из каждой формы и контейнера линию на это событие тоже не хотелось бы. Привел пример как это можно реализовать, но использование постоянного таймера, что тоже не хорошо.


Add(MainForm,2953706,119,63)
{
Width=434
Height=306
}
Add(GlobalVar,15598783,420,98)
{
Name="1"
}
Add(Timer,5031707,350,140)
{
Interval=300
link(onTimer,2414811:doEvent,[])
}
Add(IndexToChanel,2414811,420,140)
{
Point(Index)
link(onEvent2,12315537:doEvent1,[])
link(Index,15598783:Var,[])
}
Add(Message,417627,518,196)
{
Message="Событие"
}
Add(GlobalVar,7664818,210,140)
{
Name="1"
}
Add(Button,10352521,119,140)
{
Left=70
Top=115
Width=105
Caption="вызов события"
Data=Integer(1)
link(onClick,7664818:doValue,[])
}
Add(Hub,12315537,476,147)
{
link(onEvent1,1492045:doData,[])
link(onEvent2,417627:doMessage,[(504,160)(504,202)])
}
Add(DoData,1492045,518,147)
{
Data=Integer(0)
link(onEventData,15598783:doValue,[(573,153)(573,81)(402,81)(402,104)])
}
Add(GlobalVar,2462285,210,210)
{
Name="1"
}
Add(Button,15582192,119,210)
{
Left=70
Top=85
Width=105
Caption="вызов события"
Data=Integer(1)
link(onClick,2462285:doValue,[])
}


Подскажите, есть ли способ сделать это как то лучше? Например без использования таймера. Или может есть другое решение?
карма: 0

0
Ответов: 824
Рейтинг: 138
#2: 2016-11-25 13:54:14 ЛС | профиль | цитата
igr писал(а):
Подскажите


Add(MainForm,12480163,203,91)
{
Width=434
Height=306
}
Add(Message,417627,510,196)
{
Message="Событие"
Caption="LineBreakEx"
}
Add(Button,10352521,203,168)
{
Left=70
Top=115
Width=105
Caption="вызов события"
Data=Integer(1)
link(onClick,15782651:doWork,[])
}
Add(Button,15582192,203,238)
{
Left=70
Top=85
Width=105
Caption="вызов события"
Data=Integer(1)
link(onClick,13940840:doWork,[])
}
Add(LineBreakEx,15782651,259,168)
{
Caption="LineBreakEx"
}
Add(LineBreakEx,13940840,266,238)
{
Caption="LineBreakEx"
}
Add(LineBreakEx,569872,405,196)
{
Caption="LineBreakEx"
Type=1
link(OnEvent,417627:doMessage,[])
}
карма: 1

0
Ответов: 278
Рейтинг: 6
#3: 2016-11-25 14:19:54 ЛС | профиль | цитата
Не не, не работает так. Я же написал из контейнеров.


Add(MainForm,12480163,287,147)
{
Width=434
Height=306
}
Add(Message,417627,594,252)
{
Message="Событие"
Caption="LineBreakEx"
}
Add(Button,15582192,287,294)
{
Left=70
Top=85
Width=105
Caption="вызов события"
Data=Integer(1)
link(onClick,7241486:doWork1,[])
}
Add(LineBreakEx,569872,489,252)
{
Caption="LineBreakEx"
Type=1
link(OnEvent,417627:doMessage,[])
}
Add(MultiElement,7241486,371,294)
{
}
BEGIN_SDK
Add(EditMulti,13104452,21,21)
{
WorkCount=1
link(doWork1,13695842:doWork,[(109,27)(109,97)])
}
Add(LineBreakEx,13695842,196,91)
{
Caption="LineBreakEx"
}
END_SDK

карма: 0

0
Ответов: 824
Рейтинг: 138
#4: 2016-11-25 15:08:13 ЛС | профиль | цитата
Используй "GlobalVarEx"
карма: 1

1
Голосовали:igr
Ответов: 278
Рейтинг: 6
#5: 2016-11-25 15:48:54 ЛС | профиль | цитата
sashaoli, спасибо!!!
Все как нужно работает)

Вот только один вопрос. Файлики я положил в папки. Где его искать в палитре компонентов? Или как его туда добавить?
Пока копирую версию без Ex и в блокноте дописываю)
карма: 0

0
Ответов: 824
Рейтинг: 138
#6: 2016-11-25 15:55:30 ЛС | профиль | цитата
Установка элемента
карма: 1

1
Голосовали:igr
Ответов: 278
Рейтинг: 6
#7: 2016-11-25 22:39:08 ЛС | профиль | цитата
Спасибо!
карма: 0

0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)