WEB форумы на jedi
[Форум] [Помощь] [Поиск] [Выйти]
Добро пожаловать, [info]User

WEB форумы на jedi [ПОИСК] [Архив до 03.2006]

Тема Аналог К предыдущему сообщению На следующее сообщение Программирование

Отправил daFunk в 13:36 11.02.2004[Ответить]
Подскажите для Visual C++ или Visual C# аналог билдеровской функции ProcessMessages()


Отправил Пaшкa в 16:09 11.02.2004[Ответить]
А что она делает?


Отправил Sleep-Walker в 18:30 11.02.2004[Ответить]
отдаёт управление наружу и ставит текущий незаверщённый процесс в конец очереди обработки (типа того).


Отправил GoodMaker в 19:01 11.02.2004[Ответить]
procedure TApplication.ProcessMessages;
var
Msg: TMsg;
begin
while ProcessMessage(Msg) do {loop};
end;

function TApplication.ProcessMessage(var Msg: TMsg): Boolean;
var
Handled: Boolean;
begin
Result := False;
if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
begin
Result := True;
if Msg.Message <> WM_QUIT then
begin
Handled := False;
if Assigned(FOnMessage) then FOnMessage(Msg, Handled);
if not IsHintMsg(Msg) and not Handled and not IsMDIMsg(Msg) and
not IsKeyMsg(Msg) and not IsDlgMsg(Msg) then
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end
else
FTerminate := True;
end;
end;
Если надо чтоб просто приложение не висло используй Sleep и SleepEx , а вообще достаточно использовать тока TranslateMessage(Msg) и DispatchMessage(Msg).


Отправил daFunk в 12:27 12.02.2004[Ответить]
ДЛЯ VISUAL C++ ИЛИ С#, а не Delphi


Отправил GoodMaker в 13:43 12.02.2004[Ответить]
:) А какая разница на каком языке функции WinApi вызывать? Или тебе просто код не понятен? тогда повторысь для реализации ProcessMessages
достаточно 2-х функций WinApi TranslateMessage и DispatchMessage :)


Отправил Пaшкa в 14:16 12.02.2004[Ответить]
Application.DoEvents Method

// C#
public static void DoEvents();

ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.1033/cpref/html/frlrfsystemwindowsformsapplicationclassdoeventstopic.htm