Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
elektro-volk
0 / 0 / 2
Регистрация: 11.12.2015
Сообщений: 45
#1

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

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

При вызове 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)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2016, 11:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос При вызове CreateWindow в функции вылетает необработанное исключение (найти и исправить ошибку) (C++):

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

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

Не могу понять, как исправить ошибку в при вызове методов класса - C++
Не могу понять, как испровить ошибку в при вызове методов классa: #include <cstdlib> #include <iostream> using namespace std; ...

На стадии выполнения выпадает исключение: найти причины и исправить ошибку - C++
Добрый день. Имеется следующая проблема. Visual studio 2017. #include <iostream> #include <string> struct patrons { std::string...

Найти ошибку в вызове функции. - C++
Подскажите, что не так, независимо от того, какую операцию выбираю: 1 или 2(байты в биты или биты в байты), выполняется одно и тоже (байты...

Список. Программа вылетает с сообщением "Необработанное исключение" - C++
При дебаге, обнаружил, что это происходит в начале первого цикла. #include <iostream> #include <vector> #include <string> ...

3
Volchonok34
7 / 7 / 9
Регистрация: 04.10.2016
Сообщений: 52
Завершенные тесты: 2
05.10.2016, 11:27 #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;
0
elektro-volk
0 / 0 / 2
Регистрация: 11.12.2015
Сообщений: 45
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
Volchonok34
7 / 7 / 9
Регистрация: 04.10.2016
Сообщений: 52
Завершенные тесты: 2
05.10.2016, 11:34 #4
и предпоследним параметром функции CreateWindow() должен быть дескриптор экземпляра программы, в вашем случае - g_hInst
0
05.10.2016, 11:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2016, 11:34
Привет! Вот еще темы с ответами:

Необработанное исключение при изменение размера окна - C++
Если долго менять размер у окна, то минут через 5 вылезет необработанное исключение, окно зависает и превращается во что то непонятное. ...

Необработанное исключение при добавлении в конец списка - C++
не могу понять в чем ошибка, при пошаговой отладке ругаеться на помогите разобраться, по сути это добавление элемента в список, если он...

Необработанное исключение по адресу при вводе даты - C++
имеется код #include <stdio.h> #include <iostream> #include <conio.h> using namespace std; int main() ...

Необработанное исключение по адресу при выводе на консоль - C++
Доброго времени суток. #include <iostream> #include <string> using namespace std; class YearData { public: int day; ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.