Alex M.
Зарегистрирован: 18.10.2007 Сообщения: 1
|
Добавлено: Чт Окт 18 2007 14:03 Заголовок сообщения: DoModal() возвращает -1 |
|
|
Не слишком сильно разбираюсь в MFC, но надо по возможности быстро решить одну проблему.
Итак, есть приложение под Windows Mobile 5.0. Я думаю, что это несущественно. Написано все на C++ & MFC. Имеется следующий код по созданию диалога при выборе юзером определенного пункта меню:
Код: | DWORD dw = 0;
SetLastError(ERROR_SUCCESS);
CDlgLocations dlg; // CDlgLocations наследует CDialog
TCHAR szBuf[80];
LPVOID lpMsgBuf;
INT_PTR Result = dlg.DoModal(); // Здесь DoModal() не "подвешивает" прогу, а сразу возвращает -1
dw = GetLastError(); // Тут возвращается 6
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
dw,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0, NULL );
wsprintf(szBuf,
_T("Function failed with error %d: %s"),
dw, lpMsgBuf); // В итоге в szBuf строка: "Function failed with error 6: The handle is invalid."
LocalFree(lpMsgBuf); |
Можно хотя бы примерно узнать, в чем состоит ошибка? Понятно, что что-то где-то не инициализируется, но вот где именно это надо искать? Кто-то сталкивался с таким явлением? Буду сильно благодарен за ответы. |
|