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

Вниз

Заменяя ProcessMessages   Найти похожие ветки 

 
AV ©   (2012-02-29 11:43) [0]

function TForm1.WaitForTrue(nDelay: integer; P: PBoolean): boolean;
var
 Msg: TMsg;
 n: Integer;
begin
 n := 0;
 repeat
   if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
   begin
     TranslateMessage(Msg);
     DispatchMessage(Msg);
   end;
   Sleep(50);
   n := n + 1;
 until (n > nDelay) or P^;
 Result := (n <= nDelay);
end;

для чего..
Собственно, что б потоков лишних не плодить
например,
TcpClient.Open
if WaitForTrue(50, addr(TcpClient.Connected)) then
  соединились вовремя    иначе
  вовремя не соединились

Огребу?


 
Cobalt ©   (2012-02-29 13:09) [1]

А чем тебе не нравится ProcessMessages?


 
Anatoly Podgoretsky ©   (2012-02-29 13:23) [2]

ProcessMessages и равен    if PeekMessage(...


 
CRLF   (2012-02-29 13:43) [3]

Есть мнение, что на addr(TcpClient.Connected) тебя будет ждать грандиозный облом.


 
AV ©   (2012-02-29 14:03) [4]

>> Anatoly Podgoretsky ©   (29.02.12 13:23) [2]
ну, да оттуда идею и сдернул.
Просто еще WM_Quit не анализируется и прочее, прочее
И еще, удобно нахожу это :)


> CRLF   (29.02.12 13:43) [3]
> Есть мнение, что на addr(TcpClient.Connected) тебя будет
> ждать грандиозный облом.

не суть.
Можно еще переменную завести, на onStatus повесить, например. И по ней ориентироваться.
основное - удобно. Не?
одной сторокой - ЖдатьМаксимумСтолькоДоСобытия
(не обязательно, до True, можно еще чем заменить..)


 
AV ©   (2012-02-29 14:05) [5]


> А чем тебе не нравится ProcessMessages?

Основное..
На мессаджи у меня обычно есть чего наподвязано.
и OnMessage иногда надо обойти


 
CRLF   (2012-02-29 14:28) [6]


> не суть.
Может и не суть, но в "Начинающих" лучше предупредить. :-)

А вариант с WaitForSingleObject не катит?


 
Cobalt ©   (2012-02-29 16:20) [7]

Автор - однозначно любитель странного :-)


 
Забаненный   (2012-02-29 21:53) [8]

странное не значит - плохое ;)


 
Сергей М. ©   (2012-02-29 23:39) [9]


> Просто еще WM_Quit не анализируется и прочее


А надо бы, иначе огребешь.



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

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

Наверх




Память: 0.46 MB
Время: 0.053 c
2-1329747899
Редиска
2012-02-20 18:24
2013.03.22
Отправка запроса скрытно от пользователя


2-1336378616
gltrinix
2012-05-07 12:16
2013.03.22
Настройки компилятора


2-1332325940
CRLF
2012-03-21 14:32
2013.03.22
А куда делось "Прочее"?


1-1304237779
AlekVolsk
2011-05-01 12:16
2013.03.22
Экспорт в Excel2010: значения NumberFormat ячейки


15-1339074806
Дмитрий С
2012-06-07 17:13
2013.03.22
Задача о деньгах.





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