видел давно, но обратил внимание только сейчас. в msdn example: Код (Text): [b]BOOL bRet; [/b] //... while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0) { if ([b]bRet == -1[/b]) { // handle the error and possibly exit } else { TranslateMessage(&msg); DispatchMessage(&msg); } } там же, в msdn: вот так-то, следуй заветам microsoft ))))))))))
Я может чегото не понимаю, но четко написано "If there is an error, the return value is -1. For example, the function fails if hWnd is an invalid window handle or lpMsg is an invalid pointer. To get extended error information, call GetLastError."
cupuyc что не наромального ?? bRet = 0 (ложь - нет ошибки) bRet = 1 (истина - есть ошибка) другими словами bRet отражает истинность высказывания "во время исполнения произошла ошибка"
Rockphorr Нет, в данном случае, 1 если сообщение не WM_QUIT, 0 если WM_QUIT и -1 если ошибка. Вообще нормально сделали, тока непонятно зачем было переменную как BOOL объявлять, сделали бы уже дворд, а то немного калечно получается.
За такой стайл аффтара надо было пронзить анальным вибратором с шипами, густо обмазанными йадом. А потом ещё "там три раза провернуть"(с)Лермонтов, чтобы наверняка.
открой в MSDN Windows Data Types (http://msdn.microsoft.com/en-us/library/aa383751(VS.85).aspx) и почитай что там написано про тип BOOL.
За тем, что MSDN - основной документ для разработки windows приложений. Разработкик в первую очередь смотрит в MSDN, а не в сорцы винды. Когда я вижу у функции тип возвращаемого значения BOOL я автоматически понимаю что функция может выполниться либо успешно, либо неуспешно (для этого и нужен тип BOOL, о чём и написано в MSDN). Совершенно не важно сколько под данный тип отводится памяти и как он описан в WinDef.h. Важно то, какие возможные значения может принимать переменная этого типа. Иначе зачем тогда вообще переопределение типов? зачем нужен тип BOOL?