Add(InlineCode,8329617,553,294)
{
WorkPoints=#6:doWork|
EventPoints=#7:onEvent|8:onEvent2|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|2: |9: public|23: onEvent:THI_Event;|24: onEvent2:THI_Event;|55: procedure doWork(var Data:TData; Index:word); |5: end;|0:|14:implementation|0:|29:procedure THiAsmClass.doWork;|5:begin|26: _hi_OnEvent(onEvent,'1');|27: _hi_OnEvent(onEvent2,'2');|5: end;|4:end.|
}
Этот топик читают: Гость
Ответов: 207
Рейтинг: 14
|
|||
Подскажите как сделать задержку onEvent2, например, на одну секунду после выполнения onEvent?
|
|||
карма: 2 |
|
Ответов: 1926
Рейтинг: 172
|
|||
Как-то так:
ps. Про модуль mmsystem не забывай. Редактировалось 1 раз(а), последний 2020-10-13 04:25:51 |
|||
карма: 9 |
| ||
Голосовали: | Joiner |
Ответов: 207
Рейтинг: 14
|
|||
3042, Спасибо, то что нужно.
|
|||
карма: 2 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Делать задержку путем загрузки процессора ненужной работой - плохо. Для правильной задержки есть процедура Sleep().
|
|||
карма: 26 |
|
Ответов: 207
Рейтинг: 14
|
|||
Netspirit, А можно пример?
|
|||
карма: 2 |
|
Ответов: 4628
Рейтинг: 749
|
|||
|
|||
карма: 26 |
|
Ответов: 207
Рейтинг: 14
|
|||
Netspirit, Мне нужно асинхронно задерживать события, а со Sleep засыпает вся программа.
|
|||
карма: 2 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Под "всей программой" подразумевается главный поток приложения. Тогда есть такие варианты:
1) Выполнять работу в параллельном потоке, в нём же делать задержки. Тогда главный поток будет работать. 2) Использовать таймер с помощью функций SetTimer()/KillTimer(). Требует иного подхода, чем показано выше, в том смысле что это не "задержка", а вызов функции с некоторым интервалом. Соответственно, нужен подсчет вызовов с реакцией в нужные моменты. 3) Можно мой пример модифицировать, как в самом первом, чтобы немного "разморозить" главный поток. Но выглядит такой подход несколько странно:
Редактировалось 3 раз(а), последний 2020-10-13 12:28:24 |
|||
карма: 26 |
| ||
Голосовали: | Joiner |
Ответов: 207
Рейтинг: 14
|
|||
Netspirit, Спасибо, отлично работает.
И спасибо за разъяснения! Редактировалось 1 раз(а), последний 2020-10-13 12:43:36 |
|||
карма: 2 |
|
9