10 / 10 / 0
Регистрация: 10.07.2011
Сообщений: 75
1

Нарушение прав доступа...

11.02.2012, 16:07. Показов 946. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите плз с кодом, я уже мозг сламал не могу понять где там ошибка в правах доступа....вот фрагмент кода:

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
LPDIRECT3D9         g_pD3D = NULL; // Used to create the D3DDevice
LPDIRECT3DDEVICE9   g_pd3dDevice = NULL; // Our rendering device
 
 
HRESULT InitD3D( HWND hWnd )
{
    // Create the D3D object.
    if( NULL == ( g_pD3D = Direct3DCreate9( D3D_SDK_VERSION ) ) )
        return E_FAIL;
 
    // Set up the structure used to create the D3DDevice. Since we are now
    // using more complex geometry, we will create a device with a zbuffer.
    D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory( &d3dpp, sizeof( d3dpp ) );
    d3dpp.Windowed = TRUE;
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
    d3dpp.EnableAutoDepthStencil = TRUE;
    d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
 
    // Create the D3DDevice
  
    if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
                                      D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                                      &d3dpp, &g_pd3dDevice ) ) )
    {
        return E_FAIL;
    }
 
    // Turn on the zbuffer
    g_pd3dDevice->SetRenderState( D3DRS_ZENABLE, TRUE );
 
    // Turn on ambient lighting 
     D3DXVECTOR3 Light(1.0f,0.0f,0.0f);
    D3DXVec3Normalize ( &Light, &Light);
dir.Type = D3DLIGHT_POINT;    // make the light type 'point light'
     dir.Diffuse = D3DXCOLOR(0.5f, 0.5f, 0.5f, 1.0f);
    dir.Position = D3DXVECTOR3(camx, camy, camz);
    dir.Range = 1000.0f;    // a range of 100
     dir.Attenuation0 = 1.0f;    // no constant inverse attenuation
     dir.Attenuation1 = 0.125f;    // only .125 inverse attenuation
     dir.Attenuation2 = 0.0f;    // no square inverse attenuation
     dir.Ambient = D3DXCOLOR(10.0f, 10.0f, 10.0f, 0.0f);
     g_pd3dDevice->SetLight( 0, &dir);
  g_pd3dDevice->LightEnable( 0, true);
  InitTxt();
return S_OK;
}
там где я первый раз обращаюсь к подфункции Device - ошибка, и эта переменная равна 0...уже в функции создания устройства ей не присваивается значение. Почему?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2012, 16:07
Ответы с готовыми решениями:

Вызвано исключение в Test.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000000
Не могу понять в чем проблема есть код CPP фаил #include "cube.h" struct Vertex { Vertex()...

В цикле ожидания windows message Нарушение прав доступа при чтении "0xfeeeff9a"
Пытаюсь разобраться со вторым примером от Microsoft. Привожу код, который дает сбой: while(...

Нарушение прав доступа
Ребят, доброе утро! Такой вопрос - почему может выскакивать ошибка "Нарушение прав доступа" при...

Нарушение прав доступа
Помогите пожалуйста. Пишу программу на С++. У меня есть класс, в конструкторе этого класса...

1
10 / 10 / 0
Регистрация: 10.07.2011
Сообщений: 75
12.02.2012, 22:45  [ТС] 2
добавил
d3dpp.BackBufferWidth = 640;
d3dpp.BackBufferHeight = 480;
стало работать, терь выскакивает пара сообщений, но окно не создается....вот код создания окна....незнаю может ли быть проблема в том что я регистрирую 2 класса окна.....

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 WNDCLASSEX wc_EnterWindow =
    {
        sizeof( WNDCLASSEX ), CS_CLASSDC, MsgProc_EnterWindow, 0L, 0L,
        GetModuleHandle( NULL ), NULL, NULL, NULL, NULL,
        L"name", NULL
};
   RegisterClassEx( &wc_EnterWindow );
    
    WNDCLASSEX wc =
    {
        sizeof( WNDCLASSEX ), CS_CLASSDC, MsgProc, 0L, 0L,
        GetModuleHandle( NULL ), NULL, NULL, NULL, NULL,
        L"name", NULL
    };
    RegisterClassEx( &wc );
....
C++
1
2
3
HWND hWnd = CreateWindow( L"D3D Tutorial", L"D3D Tutorial 06: Meshes",
                              WS_POPUP, 0, 0,640, 480,
                              NULL, NULL, wc.hInstance, NULL );
0
12.02.2012, 22:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2012, 22:45
Помогаю со студенческими работами здесь

Нарушение прав доступа
Доброго времени суток, уважаемые программисты! Вкратце: шефом была поставлена задача выяснить...

Нарушение прав доступа
Подскажите пожалуйста! Я создала пользователей системы, определила им роли, которые прописаны в...

Нарушение прав доступа
Добрый день, сразу извиняюсь что пишу в связи столь распространенной ошибкой сюда, знаю что...

Нарушение прав доступа
Подскажите пожалуйста, не могу удалить спр. банк, который помечен на удаление. Зашел под...


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

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

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