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

Необработанное исключение в "0x778e15de" в "dir-3.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000" - C++

Восстановить пароль Регистрация
 
mugmag
Сообщений: n/a
15.04.2013, 21:00     Необработанное исключение в "0x778e15de" в "dir-3.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000" #1
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#include <windows.h>
#include <d3d9.h>
 
LRESULT __stdcall WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
 
struct vertex
{
    float x,y,z;
    unsigned long color;
};
 
int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASS wc;
    wc.style = CS_OWNDC;
    wc.lpfnWndProc = WndProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hbrBackground = (HBRUSH)(6);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wc.hInstance = hInstance;
    wc.lpszClassName = L"class";
    wc.lpszMenuName = NULL;
 
    RegisterClass(&wc);
 
    HWND hWnd = CreateWindow(L"class",L"программа",
                             WS_OVERLAPPEDWINDOW,200,100,
                             500,500,NULL,NULL,hInstance,NULL);
 
    ShowWindow(hWnd,nCmdShow);
    UpdateWindow(hWnd);
 
    IDirect3D9* d3d = NULL;
    IDirect3DDevice9* dev = NULL;
    IDirect3DVertexBuffer9* vb = NULL;
    d3d = Direct3DCreate9(D3D_SDK_VERSION);
 
    D3DPRESENT_PARAMETERS pp;
    ZeroMemory(&pp,sizeof(pp));
    pp.BackBufferWidth = 500;
    pp.BackBufferHeight = 500;
    pp.BackBufferFormat = D3DFMT_UNKNOWN;
    pp.BackBufferCount = 1;
    pp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    pp.hDeviceWindow = hWnd;
    pp.Windowed = true;
 
    d3d->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_REF,hWnd,
                      D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                      &pp, &dev);
 
    dev->CreateVertexBuffer( 6* sizeof(vertex), D3DUSAGE_WRITEONLY,
                             D3DFVF_XYZ|D3DFVF_DIFFUSE, D3DPOOL_DEFAULT,
                             &vb,NULL);
 
    dev->SetRenderState(D3DRS_LIGHTING, false);
    
    vertex vertices[] =
    {
        { -2, -1, 0, 0xff000000},
        {  0,  2, 0, 0xff000000},
        {  2, -1, 0, 0xff000000},
    };
    MSG msg;
    void* vb_vertices;
 
    D3DMATRIX matWorld;
    matWorld._11=1;   matWorld._12=0;  matWorld._13=0;  matWorld._14=0;
    matWorld._21=0;   matWorld._22=1;  matWorld._23=0;  matWorld._24=0;
    matWorld._31=0;   matWorld._32=0;  matWorld._33=1;  matWorld._34=0;
    matWorld._41=0;  matWorld._42=0;  matWorld._43=0;  matWorld._44=1;
 
    dev->SetTransform(D3DTS_WORLD, &matWorld);
 
    D3DMATRIX matCam;
    matCam._11=1; matCam._12=0; matCam._13=0;  matCam._14=0;
    matCam._21=0; matCam._22=1; matCam._23=0;  matCam._24=0;
    matCam._31=0; matCam._32=0; matCam._33=1;  matCam._34=0;
    matCam._41=0; matCam._42=0; matCam._43=10; matCam._44=1;
 
    dev->SetTransform(D3DTS_VIEW, &matCam);
 
    D3DMATRIX matProj;
    matProj._11=1; matProj._12=0; matProj._13=0;  matProj._14=0;
    matProj._21=0; matProj._22=1; matProj._23=0;  matProj._24=0;
    matProj._31=0; matProj._32=0; matProj._33=1;  matProj._34=1;
    matProj._41=0; matProj._42=0; matProj._43=-1; matProj._44=0;
    
    dev->SetTransform(D3DTS_PROJECTION, &matProj);
 
    vb->Lock(0,sizeof(vertices),(void**)&vb_vertices,0);
    memcpy(vb_vertices,vertices,sizeof(vertices));
    vb->Unlock();
 
    dev->SetStreamSource(0,vb,0,sizeof(vertex));
    dev->SetFVF(D3DFVF_XYZ|D3DFVF_DIFFUSE);
 
    while (1)
    {
        if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
        {
            if (msg.message == WM_QUIT)
                break;
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
 
        dev->Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_XRGB(255,255,255),1.0f,0);
 
        dev->BeginScene();
        dev->DrawPrimitive(D3DPT_TRIANGLELIST,0,1);
        dev->EndScene();
 
        dev->Present(NULL,NULL,NULL,NULL);
    }
 
 
    if (vb != NULL)
        vb->Release();
    if (d3d != NULL)
        d3d->Release();
    if (dev != NULL)
        dev->Release();
    UnregisterClass(L"class",hInstance);
    return 0;
}
 
LRESULT __stdcall WndProc (HWND hWnd, UINT msg,
                           WPARAM wParam, LPARAM lParam)
{
    switch (msg)
    {
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc(hWnd,msg,wParam,lParam);
}
при попытке компиляции выдает: Необработанное исключение в "0x778e15de" в "dir-3.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 21:00     Необработанное исключение в "0x778e15de" в "dir-3.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000"
Посмотрите здесь:

C++ Нарушение прав доступа при записи "0x00000000"
Указатели. Необработанное исключение в "0x77c015de" ": 0x00000000: Операция успешно завершена C++
"Нарушение прав доступа при чтении "0x00000000"" C++
C++ Необработанное исключение в "0x776315de" в "c++1.exe": 0xC0000005: Нарушение прав доступа при записи "0x40e000
Возникает ошибка "0xC0000005: Нарушение прав доступа при чтении "0xfeeefee2"." C++
C++ Нарушение прав доступа при чтении "0xcdcdcdcd"
C++ Необработанное исключение в "0x104b2288" в "Matrix.exe": 0xC0000005: Нарушение прав доступа при записи "0xcdcd
C++ С++ ошибка 0xC0000005: Нарушение прав доступа при записи "0xcccccccc". Инициализация строк

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stima
429 / 284 / 16
Регистрация: 22.03.2011
Сообщений: 923
Завершенные тесты: 1
15.04.2013, 21:11     Необработанное исключение в "0x778e15de" в "dir-3.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000" #2
При попытке компиляции??? Сег фол?? Рли?

Цитата Сообщение от mugmag Посмотреть сообщение
d3d = Direct3DCreate9(D3D_SDK_VERSION);
Вы уверены в том, что там не ноль?

Добавлено через 37 секунд
п.с. Прежде чем работать с д3д, разберитесь как работать с дебагером.
ssXXss
263 / 185 / 10
Регистрация: 15.01.2011
Сообщений: 668
15.04.2013, 21:12     Необработанное исключение в "0x778e15de" в "dir-3.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000" #3
для поиска ошибок подобного и не только типа , после сборки проги ее настоятельно рекомендуют запускать под отладчиком который интегрирован практически во все IDE , и тогда при возникновении ошибки будет ясно в каком месте и по каким причинам оная возникает.
Yandex
Объявления
15.04.2013, 21:12     Необработанное исключение в "0x778e15de" в "dir-3.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000"
Ответ Создать тему
Опции темы

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