Главная страница
    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.069 c
15-1345750821
Прогер
2012-08-23 23:40
2013.03.22
TDWordRec откуда такое окончание?


2-1326742131
Рома
2012-01-16 23:28
2013.03.22
Нужно сделать трассировку


15-1333015766
Сергей М.
2012-03-29 14:09
2013.03.22
SMS и IMEI


15-1338481548
М
2012-05-31 20:25
2013.03.22
Поиск файла в подкаталогах.


15-1352916329
ПЛОВ
2012-11-14 22:05
2013.03.22
Не найден dcu





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