Программирование на Visual C++. Архив рассылки | страница 20
Должен констатировать, что проблема курсоров не закрыта – пришел еще один вопрос:
Q. Хочу поблагодарить за прекрасную рассылку, надеюсь почерпнуть много интересной и полезной информации. Хочу задать несколько вопросов:
1.Что касается курсоров – как все-таки загружать 256-цветный курсор в приложении? Т.е. проблема в том что в редакторе ресурсов можно сделать либо только черно-белый курсов, либо еще и цветной, но при этом LoadCursor загружет только ч.б. Скорее всего ларчик просто открывается, но все же?
2. Еще вопрос, скорее всего тоже очень популярный. Версия Debug работает без проблем, а при запуске версии Release появляется сообщение о недопустимой операции. Хотелось бы знать в чем проблема и пути ее решения.
George V. Samodumov
А вот по второму вопросу хочу порекомендовать посмотреть ответ на вопрос Евгения – чуть выше. Как правило, отказ работать debug-версии значит, что все-таки что-то у вас не так, и для вас же будет лучше выяснить, в чем именно проблема. Это может быть связано, например, с инициализацией, с памятью и еще с уймой других вещей.
Q. Спасибо за рассылку – наконец-то свершилось! А то по VB их уже несколько, а по VC++ не было до недавнего времени ни одной. У меня есть вопрос по обработке события WM_KEYUP. Играя с диалогом, обнаружил, что он сам никак не реагирует на нажатия клавы. Как решение, использовал следующий способ: для каждого типа контрола делал свой класс, который реагирует на WM_KEYUP, и в обработчике этого события пересылал сообщение окну диалога. Например, для кнопок создал класс CMyButton, наследуемый от CButton, и в функции CMyButton::OnKeyDown() пересылаю сообщение родительскому окну как GetParent()->SendMessage(…). То же самое для других типов контролов по аналогии.
Но такой способ отдаёт некоторой горбатостью, может быть существует какое-то более элегантное решение?
Роман Коновалов
Жду ваших писем с ответами!
Пока все.
Всего вам доброго!
©Алекс Jenter mailto:jenter@mail.ru
Красноярск, 2000.
Программирование на Visual C++
Выпуск №6 от 02/07/2000
Здравствуйте, уважаемые подписчики!
Фирма Microsoft недавно выпустила очередной, четвертый пакет исправлений для Visual Studio 6.0 – Service Pack 4. Он устраняет некоторые ошибки в продуктах VS, а также производит ряд обновлений.
В Visual C++ 6 исправления касаются STL, MFC, CRT, IDE, самого компилятора, отладчика, и многих других частей, т.е. практически всего.
Следует заметить, что среди исправленных ошибок встречаются действительно критические, которые могут помешать работе. Например, частое использование realloc на маленьких блоках памяти вызывало memory access violation (конфликт при попытке доступа к памяти), а DllMain выбрасывала unhandled exception, если в течение DLL_THREAD_DETACH возникала нехватка памяти. MFC AppWizard неправильно связывал данные с программой при использовании OLE DB ODBC provider и Access.