Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];

Вниз

Есть ли альтернатива у Sleep и Exit?   Найти похожие ветки 

 
Reaktor   (2007-04-13 12:44) [0]

Обаружилось одно неудобство. Если Sleep продолжительный, то прога зависает конкретно и не дает даже свернуть окно самой программы (неговоря уже о работе с компонентами). Есть ли вариант, как сделать так, что бы программа заснула, но при этом можно было бы работать с ее окном и компонентами?
И еще вопрос. Есть ли альтернатива Exit, такая, что бы выход осуществлялся не из вызывающей процедуры, а из всей программы целиком?


 
homm ©   (2007-04-13 12:50) [1]

> Есть ли альтернатива Exit, такая, что бы выход осуществлялся
> не из вызывающей процедуры, а из всей программы целиком?

Halt;


 
Сергей М. ©   (2007-04-13 12:51) [2]

А ты не вызывай Sleep(), тогда и "зависания" не будет)


> Есть ли альтернатива Exit


Да хоть отбавляй !)

Например, Application.Terminate, MainForm.Close, Halt (для экстремалов), ExitProcess (для них же) ...


 
homm ©   (2007-04-13 12:52) [3]

> Есть ли вариант, как сделать так, что бы программа заснула,
> но при этом можно было бы работать с ее окном и компонентами?

Открою тебе секрет: поведением компонентов программы управляет (о ужас…) программа! Если она заснет, компонентами управлять станет некому.


 
homm ©   (2007-04-13 12:55) [4]

> Например, Application.Terminate, MainForm.Close, Halt (для
> экстремалов), ExitProcess (для них же) ...

Зато для вызова первых 2-х нужно существование этих самых Application и MainForm :)


 
Elen ©   (2007-04-13 12:57) [5]


> ExitProcess (для них же)

Ну эт еще гуманно, но вот TerminateProcess...!


 
Юрий Зотов ©   (2007-04-13 12:58) [6]

> Reaktor   (13.04.07 12:44)

Подумайте сами: если программа "спит" (то есть, ничего не обрабатывает), то как можно с нею работать?

Поэтому в самой постановке вопроса уже есть противоречие и на такой вопрос ответ может быть только один - никак.

Есть много вариантов сделать так, чтобы программа чего-то дожидалась, но при этом юзер мог с нею работать (Application.ProcessMessages, второй поток, MsgWaitForMultipleObjects). Но чтобы ответить конкретно, нужно уточнить вопрос - чего именно программа должна дождаться?


 
Belorus ©   (2007-04-13 22:09) [7]

Удалено модератором


 
homm ©   (2007-04-13 22:58) [8]

Удалено модератором


 
S@shka ©   (2007-04-13 23:55) [9]


> Есть ли вариант, как сделать так, что бы программа заснула,
>  но при этом можно было бы работать с ее окном и компонентами?
>


1. использовать потоки
2. использовать ttimer
3.  proceduere GoodSleep (Sleep_ :Integer);
   var i : Intger;
   begin
     sleep_ := sleep  div 100;
     for i := 1 to sleep_ do
     begin
         sleep (100);
         Application.processmessage;
     end;
   end;


 
Reaktor   (2007-04-14 22:52) [10]

Позор мне. До последнего (3) мог бы и сам догадаться.
А чем halt плох?


 
{RASkov}   (2007-04-14 23:12) [11]

> А чем halt плох?

Initiates abnormal termination of a program.
Промт говорит:
Начинает неправильное завершение программы. ;)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.065 c
15-1178981335
ArtemESC
2007-05-12 18:48
2007.06.10
Benny Hill


2-1178790080
MaksON
2007-05-10 13:41
2007.06.10
Помогите, пожалуйста!


15-1179142527
Knight
2007-05-14 15:35
2007.06.10
Прога контроля прокси...


2-1179312569
Ксандр
2007-05-16 14:49
2007.06.10
Просмотр HTML кода


15-1179160502
Bad_B
2007-05-14 20:35
2007.06.10
Как это работать программистом?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский