| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как сделать чтобы моё приложение как бы уснуло |
| Автор: Гость_Bartram 3.4.2005, 12:07 |
| Я пишу приложение без использования VCL! Как сделать так чтобы после какой нибудь функции приложение как бы уснуло на некотрое время а потом снова продолжило свою работу! |
| Автор: Vex 3.4.2005, 12:23 |
| поставить самый маленький приоритет и... repeat ... until <условие для пробуждения> |
| Автор: bartram 3.4.2005, 12:40 | ||
А в этом месте можно поподробнее. Добавлено @ 12:44 Дело в том что есть некая процедура которая вызываеться из dll а после нее идёт выход из приложения, дак вот функция из dll не успевает исполниться как приложение закрывается не дожидаясь окончательного выполнения той процедуры которая выполняеться из длл вот поэтому мне и нужно чтоб приложение засыпало. Может есть альтернативный метод решения данной проблемы? |
| Автор: Vex 3.4.2005, 12:57 | ||||
например если системная дата соответсвует усовию
Код не тестировал, так что все ИМХО |
| Автор: Vex 3.4.2005, 13:13 | ||
А что функция из ДЛЛ выполняется в отдельном потоке? Если да то не знаю как в Delphi, в Java есть специальный метод isAlive(); и join(); они гарантируют, что главный поток остановиться последним. |
| Автор: Vex 3.4.2005, 13:23 | ||
| http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/sleepex.asp Только что такое
|
| Автор: bartram 3.4.2005, 13:33 | ||||
Нет, dll выполняеться не в потоке.
Эта функция работает но грузит процессор на 94%, а это как ты понимаешь не очень меня устраивает |
| Автор: Vex 3.4.2005, 13:38 | ||||
я же говорил
|
| Автор: Girder 3.4.2005, 16:15 |
| Sleep(x) |
| Автор: bartram 3.4.2005, 17:58 |
| Всем спасибо, я уже нашёл решение |
| Автор: Vex 3.4.2005, 20:48 | ||
Просто интересно, ставил засыпание по времени? И еще один вопрос - почему вообще происходит сабж, ведь это не отдельный поток и выполнение процедуры из ДЛЛ должно становиться "в очередь" в главном потоке... |
| Автор: Alex 3.4.2005, 20:59 | ||
| Да все там нормально. Все вставало в свою очередь и все дожидалось. Просто вопрос чуть-чуть не правильно был сформулирован. На самом деле человеку нужно было: не завершать программу пока не выполнится некое действие. Вот код, который ему помог:
|
| Автор: Alex 3.4.2005, 21:00 |
| А вот полный код проекта: |