Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
0 / 0 / 2
Регистрация: 11.12.2015
Сообщений: 47
1

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

05.10.2016, 11:21. Показов 4477. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При вызове 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: Во время обратного вызова пользователя обнаружено необработанное исключение.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2016, 11:21
Ответы с готовыми решениями:

Необработанное исключение при вызове функции-члена класса
Добрый день! Изучаю основы c++ по Страуструпу и при решении одной задачи столкнулся с проблемой....

При вызове функции необработанное исключение, выход за границы массива
bool checkprocessed(point data,int xx,int yy,int wind) { bool mark=false; int s=0; for(int...

Исправить ошибку: необработанное исключение по адресу, нарушение прав доступа при записи по адресу
Помогите, пожалуйста, исправит ошибку. Необработанное исключение по адресу 0x77D88E19 (ntdll.dll)...

Как исправить необработанное исключение ArgumentException при работе с Bitmap?
Подскажите пожалуйста как исправить...Необработанное исключение типа "System.ArgumentException" в...

3
7 / 7 / 13
Регистрация: 04.10.2016
Сообщений: 52
05.10.2016, 11:27 2
Лучший ответ Сообщение было отмечено elektro-volk как решение

Решение

а где функция обработки окна?
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;
0
0 / 0 / 2
Регистрация: 11.12.2015
Сообщений: 47
05.10.2016, 11:33  [ТС] 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;
}
0
7 / 7 / 13
Регистрация: 04.10.2016
Сообщений: 52
05.10.2016, 11:34 4
и предпоследним параметром функции CreateWindow() должен быть дескриптор экземпляра программы, в вашем случае - g_hInst
0
05.10.2016, 11:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2016, 11:34
Помогаю со студенческими работами здесь

Исключение при вызове функции из DLL
При вызове функции инициализации получаю все время следующую ошибку: Мне кажется, что или я...

Вылетает ошибка при вызове функции из Dll
Народ нужна помощь! Написал Dll и пытаюсь выполнить из нее процедуру при этом вылетает ошибка:...

Исправить ошибку при вызове метода AddPicture коллекции Shapes
надо создать программу в word которая бы создавала презентацию со слайдами на которых картинки Я...

Подскажите, как исправить ошибку возникающаяся при вызове цикла do while
using System; using System.Collections.Generic; using System.Linq; using System.Text; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru