169 похожих чатов

Я правильно понимаю, что такой вариант нормально подходит для прерывания

(что бы исключить подвисание GUI и т д)?
$_hTimer = TimerInit()
Do
Sleep(100)
Until TimerDiff($_hTimer) > 5000

17 ответов

34 просмотра

ну типо того

Александр- Автор вопроса
Александр
Спасибо)))

это не экспертное мнение чисто субъективщина

Александр- Автор вопроса
Ruslan aka DUDE
это не экспертное мнение чисто субъективщина

ну сейчас как полностью перепишу и буду тестить. Просто функцию то нашел где подвисает гуи иногда, но толком не уверен в чем причина, в слипе или в функции что консоль юзает, и надеюсь что в слипе

Александр
ну сейчас как полностью перепишу и буду тестить. П...

ну сокращай значение слипа, пока видно не будет

Александр- Автор вопроса
Ruslan aka DUDE
ну сокращай значение слипа, пока видно не будет

если сократить то там другие проблемы будут, поэтому пока что так попробую, а там видно будет

Александр- Автор вопроса
Ruslan aka DUDE
какие?

ошибки с ADB (((

Не используйте оператор "SLEEP" в графическом интерфейсе! Если вы сделаете это в графическом интерфейсе, это приведет лишь к тому, что графический интерфейс будет плохо реагировать на ваши элементы управления. В документации четко указано, что при использовании GUIGETMSG() нагрузка на процессор отсутствует. Это не только сказано, но и на самом деле так и есть. Opt("MustDeclareVars", 1) #include <GUIConstantsEx.au3> Global $h_gui = GUICreate(@ScriptName,200,100) Global $guimsg GUISetState(@SW_SHOW,$h_gui) Do $guimsg = GUIGetMsg() Until $guimsg = $GUI_EVENT_CLOSE GUIDelete($h_gui) Exit 0% CPU! 👉GUIGetMsg Polls the GUI to see if any events have occurred. Remarks This function automatically idles the CPU when required so that it can be safely used in tight loops without hogging all the CPU. 👉GUIGetMsg Опрашивает GUI, чтобы узнать, произошли ли какие-либо события. Примечания Эта функция автоматически переводит CPU на холостой ход, когда это необходимо, поэтому ее можно безопасно использовать в узких циклах, не перегружая весь CPU. 👉GUI Reference - MessageLoop Mode ... While 1 $iMsg = GUIGetMsg() ... ... WEnd Usually a tight loop like the one shown would send the CPU to 100% - fortunately the GUIGetMsg function automatically idles the CPU when there are no events waiting. Do not put a manual sleep in the loop for fear of stressing the CPU - this will only cause the GUI to become unresponsive. 👉GUI Reference - Режим MessageLoop ... While 1 $iMsg = GUIGetMsg() ... ... WEnd Обычно такой затяжной цикл, как показанный на рисунке, выводит процессор на 100% - к счастью, функция GUIGetMsg автоматически отключает процессор, когда нет ожидающих событий. Не помещайте ручной сон в цикл, опасаясь перегрузить процессор - это приведет лишь к тому, что графический интерфейс станет неотзывчивым.

Александр- Автор вопроса
moon 1883
Не используйте оператор "SLEEP" в графическом инте...

не путайте опрос интерфейса и прерывания для работы интерфейса

Александр- Автор вопроса
moon 1883
Нет.

в плане Sleep для функции что выполняются основным кодом программы, не относящемуся к ГУИ

Александр
в плане Sleep для функции что выполняются основным...

Если вы используете GUIOnEventMode, все в порядке. Я не понял этого из вашего вопроса выше.

Александр- Автор вопроса
moon 1883
Если вы используете GUIOnEventMode, все в порядке....

но инфа полезная, как помню я как раз из за этого почти сразу и перешел на этот режим, так как тогда с этим не разобрался. Помню Sleep у меня как раз присутствовал(

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта