Zugriffverletzung: Unbehandelte Außnahme bei ... ????
-
Hi Leute!
ich hab wieder ein Problem:
ich habe versucht ein ganz schlichtes programm zu schreiben, welches nur einzelne pixel rot färbt xD
da ist aber ein problem^^ während dem debuggen kommt diese warnmeldung:Unbehandelte Ausnahme bei 0x769a9247 in Punkte.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xcccccccc.
dann kann ich entweder "weiter"(was aber nichts bringt) und "unterbrechen" drücken,dann haält der debuger an.
wenn ich dann den debuger beende, steht in der debuger ausgabe:
"Punkte.exe": "D:\C++ Dateien\Punkte\Debug\Punkte.exe" geladen, Symbole wurden geladen. "Punkte.exe": "C:\Windows\System32\ntdll.dll" wurde geladen "Punkte.exe": "C:\Windows\System32\kernel32.dll" wurde geladen "Punkte.exe": "C:\Windows\System32\user32.dll" wurde geladen "Punkte.exe": "C:\Windows\System32\gdi32.dll" wurde geladen "Punkte.exe": "C:\Windows\System32\advapi32.dll" wurde geladen "Punkte.exe": "C:\Windows\System32\rpcrt4.dll" wurde geladen "Punkte.exe": "C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcr90d.dll" wurde geladen "Punkte.exe": "C:\Windows\System32\imm32.dll" wurde geladen "Punkte.exe": "C:\Windows\System32\msctf.dll" wurde geladen "Punkte.exe": "C:\Windows\System32\msvcrt.dll" wurde geladen "Punkte.exe": "C:\Windows\System32\lpk.dll" wurde geladen "Punkte.exe": "C:\Windows\System32\usp10.dll" wurde geladen Eine Ausnahme (erste Chance) bei 0x769a9247 in Punkte.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xcccccccc. Unbehandelte Ausnahme bei 0x769a9247 in Punkte.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xcccccccc. Das Programm "[2036] Punkte.exe: Systemeigen" wurde mit Code -1073741819 (0xc0000005) beendet.Dies ist das Programm:
#include <windows.h> LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain (HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow) { MSG msg; HWND hWnd; WNDCLASS wc; char szAppName[] = "Pixel einfärben"; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.hCursor = LoadCursor(hInstance,IDC_ARROW); wc.hIcon = LoadIcon (hInstance,IDI_APPLICATION); wc.hInstance = hInstance; wc.lpfnWndProc = WndProc; wc.lpszClassName = szAppName; wc.style = CS_HREDRAW | CS_VREDRAW; RegisterClass(&wc); hWnd = CreateWindow(szAppName,szAppName,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL); ShowWindow (hWnd,iCmdShow); UpdateWindow (hWnd); while (GetMessage(&msg,NULL,0,0)) { TranslateMessage (&msg); DispatchMessage (&msg); } return msg.wParam; } LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam) { switch(message) { case WM_DESTROY: { PostQuitMessage(0); return 0; } case WM_RBUTTONDOWN: { InvalidateRect(hWnd,NULL,TRUE); return 0; } case WM_LBUTTONDOWN: { HDC hDC = GetDC(hWnd); SetPixel(hDC,LOWORD(lParam),HIWORD(lParam),RGB(255,0,0)); ReleaseDC(hWnd,hDC); return 0; } return 0; } return DefWindowProc(hWnd,message,wParam,lParam); }Bitte helft mir...
Ich bin anfänger und möchte nicht schon bei so einfachen programmen verzwifeln xDMFG Mr. BigGeLs
-
WNDCLASS wc = { 0 };könnte helfen. wc.lpszMenuName zeigt ansonsten auf eine ungültige Speicheradresse.