Главная страница
    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.036 c
2-1179482555
Ol4ik
2007-05-18 14:02
2007.06.10
Нужна помощь!


15-1178788010
elserpiente
2007-05-10 13:06
2007.06.10
Профайлер под BDS2006


15-1179245045
mr1Andersen
2007-05-15 20:04
2007.06.10
Подскажите где Вы, программисты, достаете библиотеки, компоненты


2-1179648772
Leon25
2007-05-20 12:12
2007.06.10
TDriveComboBox


3-1174320576
alexey_mas
2007-03-19 19:09
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский