Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Заменяя 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
15-1332156687
alexdn
2012-03-19 15:31
2013.03.22
Фотошоп?..


2-1346842080
NoUserName
2012-09-05 14:48
2013.03.22
Регистрация расширения файла


15-1333350850
AV
2012-04-02 11:14
2013.03.22
Oracle, математический финт (с индексом) есть какой-нибудь?


15-1346788652
_oxffff
2012-09-04 23:57
2013.03.22
Хех. Barry сказал Embarcadero bye.


15-1340136755
wl
2012-06-20 00:12
2013.03.22
напомните книжку из школьной литературы