Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Visual] Problem

Ostatnio zmodyfikowano 2011-02-01 21:12
Autor Wiadomość
Gronek8624
Temat założony przez niniejszego użytkownika
[Visual] Problem
» 2011-02-01 18:08:23
Witam
Od tygodnia pisze w Visual c++ EE i nie mam pojęcia co ten błąd znaczy
First-chance exception at 0x00411703 in 1.exe: 0xC0000005: Access violation reading location 0x00000000.
Unhandled exception at 0x00411703 in 1.exe: 0xC0000005: Access violation reading location 0x00000000.

Program kompiluje się bez żadnych problemów lecz gdy automatycznie się uruchamia po kompilacji to wywala mi ten błąd

Z góry dziękuje za pomoc 
P-27647
michalp
» 2011-02-01 18:09:51
Wygląda na to że odwołujesz się do nullowego wskaźnika (choć jest to tylko moje przypuszczenie).
P-27648
Gronek8624
Temat założony przez niniejszego użytkownika
» 2011-02-01 18:15:26
Błąd mi ten zaczął wyskakiwać jak podzieliłem kod źródłowy który początkowo działał



main.cpp
C/C++
#include "InitWin.h"
#include <iostream>
#include <conio.h>
using namespace std;


IDirect3D9 * pD3D;
IDirect3DDevice9 * pDev;

HWND hWnd;



bool Run = true;

int __stdcall WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
{
    hWnd = InitWin( hWnd );
   
    pD3D = Direct3DCreate9( D3D_SDK_VERSION );
   
    D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory( & d3dpp, sizeof( d3dpp ) );
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    d3dpp.Windowed = true;
    d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8;
   
    pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
    D3DCREATE_HARDWARE_VERTEXPROCESSING, & d3dpp, & pDev );
   
    MSG msg;
    while( Run )
    {
        if( PeekMessage( & msg, 0, 0U, 0U, PM_REMOVE ) )
        {
            if( msg.message == WM_DESTROY ) break;
           
            TranslateMessage( & msg );
            DispatchMessage( & msg );
        }
        else
        {
            pDev->Clear( 0, 0, D3DCLEAR_TARGET, 0xff00ff00, 1, 0 );
            pDev->BeginScene();
           
            pDev->EndScene();
            pDev->Present( 0, 0, 0, 0 );
            if( GetKeyState( VK_ESCAPE ) & 0x0800 )
            {
                Run = false;
            }
        }
    }
    pDev->Release();
    pD3D->Release();
}
InitWin.cpp
C/C++
#include "InitWin.h"

#include <d3dx9.h>
#pragma comment (lib, "d3d9.lib")
#pragma comment (lib, "d3dx9.lib")

#include <iostream>
#include <conio.h>
using namespace std;

HWND InitWin( HWND d ) {
   
   
   
   
    HINSTANCE hProg = GetModuleHandle( 0 );
    WNDCLASS wc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hProg;
    wc.lpfnWndProc = DefWindowProc;
    wc.lpszClassName = L"lkj";
    wc.lpszMenuName = 0;
    wc.hbrBackground =( HBRUSH ) GetStockObject( BLACK_BRUSH );
    wc.hIcon = LoadIcon( hProg, IDI_WINLOGO );
    wc.style = CS_HREDRAW | CS_VREDRAW;
    wc.hCursor = LoadCursor( hProg, IDC_ARROW );
   
    RegisterClass( & wc );
    d = CreateWindowEx( 0, L"lol", TEXT( "The title of my window" ), WS_OVERLAPPEDWINDOW,
    0, 0, 800, 600, 0, 0, hProg, 0 );
   
    ShowWindow( d, 5 );
   
    return( d );
   
};
P-27649
ThudPoland
» 2011-02-01 18:34:42
Pytanie jak wygląda kod.
P-27650
waxx
» 2011-02-01 19:13:05
debuguj po kolei i sprawdz gdzie sie wysypuje
P-27652
yoogi
» 2011-02-01 21:12:09
Mi się wydaję że błąd polega na tym że nie wolno uruchamiać automatycznie lepiej wejść w projekt/debug i tam masz plik *.exe od skompilowanej aplikacji i ona powinna się uruchomić normalnie ponieważ visual ma blokady np. na odczyt jakich kolwiek plików na dysku a jak normalnie uruchomisz program to nie ma tych blokad

aha dodam że tego twojego kodu nie czytałem bo mi się nie chciało :] a poza tym nie znam directa a czasami ten błąd mi wyskakuje jak zrobię program który nie działa prawidłowo przykładowo pierw zdeklaruję jakąś zmienną a potem ją usunę z pamięci a na końcu dam do niej odwołanie w jakiejś funkcji :]
P-27664
« 1 »
  Strona 1 z 1