Кибор » Кибор - Интегрированная среда разработки ботов » Отчет о ошибках » не работает остановка скрипта

Страниц (2): « 1 [2]
 

11. Kibor - 22 Марта, 2015 - 09:48:27 - перейти к сообщению
обновил.
баг получился в процессе перевода sleep и pause в другой режим работы, что бы не мешали работе немодальных диалоговых окон.
на данный момент вернул назад pause и sleep.
поэтому если надо работать с диалогом во время паузы надо делать так их

 Цитата:
mu_pause(5000);



function mu_pause(int p)
{
int t=gettime();
a: if (gettime()-t<p){sleep(10); goto a;}
}
12. yo1 - 22 Марта, 2015 - 10:04:44 - перейти к сообщению
Напомните в чем разница между sleep и pause? И что удачнее для малых пауз (до 1 сек)?
13. Kibor - 22 Марта, 2015 - 10:06:34 - перейти к сообщению
 yo1 пишет:
Напомните в чем разница между sleep и pause? И что удачнее для малых пауз (до 1 сек)?
sleep заморозит кибор. не остановить.
pause - можно остановить.

до 500 мсек sleep
14. yo1 - 22 Марта, 2015 - 10:13:10 - перейти к сообщению
Т.е. с pause кибор поставит цикл на паузу, но при этом сам скрипт продолжит работу, а при sleep скрипт полностью остановится на указанное время?
15. Kibor - 22 Марта, 2015 - 10:17:11 - перейти к сообщению
 yo1 пишет:
Т.е. с pause кибор поставит цикл на паузу, но при этом сам скрипт продолжит работу, а при sleep скрипт полностью остановится на указанное время?

..
нет.
при sleep не работает скрипта остановка контр шифт z.
скрипт стоит на паузе в любой функции
16. yo1 - 22 Марта, 2015 - 10:27:23 - перейти к сообщению
Чем тогда лучше sleep на паузах 500мс? Невозможность остановить скрипт для меня слегка отрицательна.
17. Kibor - 22 Марта, 2015 - 10:37:24 - перейти к сообщению
 yo1 пишет:
Чем тогда лучше sleep на паузах 500мс? Невозможность остановить скрипт для меня слегка отрицательна.

тем что там просто заморозка на указанное время. а pause разбивает на куски и проверяет контр шифт z.
просто на малых использовать sleep
на больших pause
.
.
18. Kibor - 25 Марта, 2015 - 10:07:04 - перейти к сообщению
исправил назад sleep и pause
теперь разницы между ними нет почти..
но для точнсти до 100 мсек ставить sleep. после 100 она работает как pause
не блокируется программа, немодальные окна работают, но не работает блок таймер скрипта.

при попытке закрыть программу во время отработки программа предложит остановить скрипт или закрыть программу..

пример работы с долгой паузой и окном..
кнопка жмется, но клики накапливаются и отработает после паузы

CODE:
int a=0;

int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];
pos_size_button0[0][0]=3; pos_size_button0[0][1]=3; pos_size_button0[0][2]=121; pos_size_button0[0][3]=20;
text_button0[0]="Кнопка 0";
//////////
int pos_size_edit0[1][4];
string text_edit0[1];
pos_size_edit0[0][0]=3; pos_size_edit0[0][1]=26; pos_size_edit0[0][2]=121; pos_size_edit0[0][3]=20;
text_edit0[0]="0";
//////////
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0] |
EDIT, #pos_size_edit0[0][0], #text_edit0[0]);
showdialog(0, "Диалог", 558, 234, 133, 78, 1, 1);
//////////

enabletimer(0);

loop: pause(5000); beep(1000, 200); goto loop;//Убрать после теста

CREATE_TIMER(0, 100)//Номер таймера, выполнение таймера через мсек.
{
l: if (flag_button0[0]>0)
{
flag_button0[0]--;
a++;
goto l;
}

text_edit0[0]=format(a);
//a++;
}

Powered by ExBB FM 1.0 Final