Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#1: 2012-04-02 19:32:44 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2025-01-09 08:46:19
карма: 0

0
Ответов: 313
Рейтинг: -9
#2: 2012-04-02 23:39:15 ЛС | профиль | цитата
Кстати вот вопрос я понял что можно заставить копироваться схему и выполнять столько раз сколько это нужно мне, но как можно сделать чтобы это схема которая копируется благодаря контейнеру, в отдельном потоке выполнялась? Тоесть выполняется программой функция очень быстро и благодаря копированию и при это сама программа совсем не виснит!!! Ктонибудь дайте пример? (С учётом того что в miltielementex есть таймер!!!)
карма: 0

0
Разработчик
Ответов: 26303
Рейтинг: 2146
#3: 2012-04-03 00:58:03 ЛС | профиль | цитата
mrvitya писал(а):
С учётом того что в miltielementex есть таймер!!

Потоки и таймеры не совместимы, так что от этой идеи можно отказаться сразу
карма: 22

0
Ответов: 313
Рейтинг: -9
#4: 2012-04-03 11:28:48 ЛС | профиль | цитата
nesco а как тогда? Мне нужно чтобы схема поя в отдельном потоке запускалась. Ну всё равно спасибо.
карма: 0

0
Разработчик
Ответов: 26303
Рейтинг: 2146
#5: 2012-04-03 11:44:51 ЛС | профиль | цитата
mrvitya писал(а):
Мне нужно чтобы схема поя в отдельном потоке запускалась

Так вся схема, или часть схемы
И для чего внутри контейнера таймеры
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#6: 2012-04-03 11:54:24 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2025-01-09 08:46:19
карма: 0

0
Ответов: 313
Рейтинг: -9
#7: 2012-04-03 12:16:34 ЛС | профиль | цитата
Вот я примерно показал первая схема работает с контейнером хорошо, а вот вторая тоже будет робить, но может программу глючить, вот вторую часть схемы и нужно сделать чтобы как нибудь через новый поток она запускалась при этом можно впринципи тайме заменить на другой компонент, но чтобы он также как таймер быстро и до бесконечности или остановки выполнял событие!!! (Извиняюсь за тупое обьяснение!!!)

code_27519.txt
карма: 0

0
файлы: 1code_27519.txt [1.7KB] [193]
Разработчик
Ответов: 26303
Рейтинг: 2146
#8: 2012-04-03 12:20:44 ЛС | профиль | цитата
mrvitya писал(а):
а вот вторая тоже будет робить, но может программу глючить

Еще бы она не глючила, когда интервал таймера стоит в 1. Надо усвоить одну вещь, что таймер в 1 никогда не будет нормально работать в ОС Windows и будет очень сильно грузить ситему. Реальная задержкак в этой системе ниже 15 работать нормально не будет никогда
карма: 22

0
Ответов: 313
Рейтинг: -9
#9: 2012-04-03 12:26:18 ЛС | профиль | цитата
nesco я это знаю, мне уже кто-то говорил, но суть проблемыто в другом, мне нужно чтобы программа сама невисла, а так у меня вообще робит всё норм, но не у всехже такие компы как у меня!!!
карма: 0

0
Разработчик
Ответов: 26303
Рейтинг: 2146
#10: 2012-04-03 13:08:45 ЛС | профиль | цитата
Попробуй вместо таймера использовать поток, как-то вот так



Add(MultiElementEx,9260267,336,315)
{
link(onResult,5960612:doValue,[])
link(Op1,5960612:Value,[(342,303)(377,303)(377,366)(412,366)])
link(onDelete,2560260:doSafeMode,[(387,328)(387,384)])
}
BEGIN_SDK
Add(EditMultiEx,11371213,21,21)
{
WorkCount=#5:##add|8:doDelete|7:##clear|
EventCount=#8:onResult|8:onDelete|
DataCount=#3:Op1|
Point(##add)
Point(##clear)
link(##add,5450844:doStart,[(70,27)(70,48)])
link(doDelete,8262538:doEvent1,[(42,34)(42,97)])
}
Add(Math,9128440,231,42)
{
Op2=1
link(onResult,11371213:onResult,[(285,48)(285,27)])
link(Op1,11371213:Op1,[(237,32)(27,32)])
}
Add(Thread,5450844,119,42)
{
Delay=1
Point(doStopFlag)
link(onExec,1722276:doSafeMode,[])
}
Add(Hub,8262538,63,91)
{
link(onEvent1,5450844:doStop,[(91,97)(91,55)])
link(onEvent2,11371213:onDelete,[(294,104)(294,34)])
}
Add(SafeMode,1722276,175,42)
{
Name="My_SafeMode_001"
WaitMode=1
link(onSafeMode,9128440:doOperation,[])
}
END_SDK
Add(Memory,5960612,406,315)
{
link(onData,10891551:doText,[])
}
Add(Label,10891551,455,315)
{
Left=10
Top=100
}
Add(Button,15283462,203,315)
{
Left=10
Top=120
link(onClick,9260267:##add,[])
}
Add(Button,16106832,203,350)
{
Left=10
Top=145
link(onClick,9260267:doDelete,[(285,356)(285,328)])
}
Add(Timer,7850179,455,378)
{
Interval=10
Enable=1
AutoStop=1
link(onTimer,9260267:##clear,[(499,384)(499,421)(324,421)(324,335)])
}
Add(SafeMode,2560260,406,378)
{
Name="My_SafeMode_001"
link(onSafeMode,7850179:doTimer,[])
}


Заметь, что перед удалением контейнера необходимо обязательно остановить поток
карма: 22

0
Ответов: 313
Рейтинг: -9
#11: 2012-04-03 13:35:56 ЛС | профиль | цитата
nesco спасибо.
карма: 0

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