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

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

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

17 ответов

30 просмотров

ну типо того

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

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

Александр- Автор вопроса
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 у меня как раз присутствовал(

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта