Форум программистов, компьютерный форум CyberForum.ru

При вызове CreateWindow в функции вылетает необработанное исключение (найти и исправить ошибку) - C++

Восстановить пароль Регистрация
 
elektro-volk
0 / 0 / 2
Регистрация: 11.12.2015
Сообщений: 43
05.10.2016, 11:21     При вызове CreateWindow в функции вылетает необработанное исключение (найти и исправить ошибку) #1
При вызове CreateWindow в функции
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
HRESULT Render_CreateWindow(LPCTSTR  wclass, LPCTSTR  wname, LPCSTR icon)
{
 // Регистрация класса
    WNDCLASSEX wcex;
    wcex.cbSize = sizeof(WNDCLASSEX);
    wcex.style = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc = NULL;
    wcex.cbClsExtra = 0;
    wcex.cbWndExtra = 0;
    wcex.hInstance = g_hInst;
    wcex.hIcon = NULL;
    wcex.hCursor = LoadCursor (NULL, IDC_ARROW);
    wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    wcex.lpszMenuName = NULL;
    wcex.lpszClassName = wclass;
    wcex.hIconSm = LoadIcon (wcex.hInstance, icon);
 
    if (!RegisterClassEx(&wcex)){
        C_Log("Render_CreateWindow: error %i", GetLastError());
        return E_FAIL;
    }
 
    RECT rc = { 0, 0, 640, 480 };
    AdjustWindowRect (&rc, WS_OVERLAPPEDWINDOW, FALSE);
    HWND                    hWnd;
 
   hWnd = CreateWindow (wclass, wname, WS_OVERLAPPEDWINDOW,
                           CW_USEDEFAULT, CW_USEDEFAULT, 
                           rc.right - rc.left, rc.bottom - rc.top,
                           (HWND)NULL, (HMENU)NULL,
                           NULL,
                           g_lpCmdLine
                           );
    
    g_hWnd=hWnd;
    if (!g_hWnd)
        return E_FAIL;
 
    ShowWindow (g_hWnd, g_nCmdShow);
    return S_OK;
}
Вылетает необработанное исключение:
Первый этап обработки исключения по адресу 0x00000000 в game.exe: 0xC0000005: нарушение прав доступа при исполнении по адресу 0x00000000.
Необработанное исключение по адресу 0x6EC5C6D1 в game.exe: 0xC000041D: Во время обратного вызова пользователя обнаружено необработанное исключение.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2016, 11:21     При вызове CreateWindow в функции вылетает необработанное исключение (найти и исправить ошибку)
Посмотрите здесь:

Найти ошибку в вызове функции. C++
C++ Не могу понять, как исправить ошибку в при вызове методов класса
C++ При вызове функции необработанное исключение, выход за границы массива
Список. Программа вылетает с сообщением "Необработанное исключение" C++
Необработанное исключение по адресу при выводе на консоль C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Volchonok34
7 / 7 / 9
Регистрация: 04.10.2016
Сообщений: 52
Завершенные тесты: 2
05.10.2016, 11:27     При вызове CreateWindow в функции вылетает необработанное исключение (найти и исправить ошибку) #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
а где функция обработки окна?
wcex.lpfnWndProc = NULL;

C++
1
2
3
4
5
6
7
8
9
10
11
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wparam, LPARAM lparam)
{
    if (Message == WM_DESTROY)
    {
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc(hwnd, Message, wparam, lparam);
}
//
wcex.lpfnWndProc = WndProc;
elektro-volk
0 / 0 / 2
Регистрация: 11.12.2015
Сообщений: 43
05.10.2016, 11:33  [ТС]     При вызове CreateWindow в функции вылетает необработанное исключение (найти и исправить ошибку) #3
C++
1
2
3
4
5
    C_Log("**********Init Game*********\n");
    Render_SetWindow(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
    if(FAILED(Render_CreateWindow("eggin", "Speed Car Fire New", "game.ico")))
        FatalExit(-1);
    C_Log("********Init Game End*******\n");
C++
1
2
3
4
5
6
void Render_SetWindow( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow )
{
    g_hInst=hInstance;
    g_nCmdShow=nCmdShow;
    g_lpCmdLine=lpCmdLine;
}
Volchonok34
7 / 7 / 9
Регистрация: 04.10.2016
Сообщений: 52
Завершенные тесты: 2
05.10.2016, 11:34     При вызове CreateWindow в функции вылетает необработанное исключение (найти и исправить ошибку) #4
и предпоследним параметром функции CreateWindow() должен быть дескриптор экземпляра программы, в вашем случае - g_hInst
Yandex
Объявления
05.10.2016, 11:34     При вызове CreateWindow в функции вылетает необработанное исключение (найти и исправить ошибку)
Ответ Создать тему
Опции темы

Текущее время: 14:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru