0x00D83DDA 處有未經處理的異常(在 DXFont.exe 中): 0xC000041D: 用戶回調期間遇到未經處理的異常

本文只針對於《逐夢之旅windows 遊戲編程從零開始》之中D3D框架篇遇到的問題,不是本問題的請繞行,以免耽誤您的時間!


在淺墨的框架中從創建窗口到消息循環中是這樣一段代碼:
HWND hwnd = CreateWindow(wndClass.lpszClassName,WINDOW_TITLE,WS_POPUP|WS_THICKFRAME,
CW_USEDEFAULT,CW_USEDEFAULT,WINDOW_WIDTH,WINDOW_HEIGHT,NULL,NULL,hInstance,NULL);
Direct3D_Init(hwnd);
ShowWindow(hwnd,SW_NORMAL);
UpdateWindow(hwnd);

而在筆者代碼中是這樣寫的:
HWND hwnd = CreateWindow(wndClass.lpszClassName,WINDOW_TITLE,WS_POPUP|WS_THICKFRAME,
CW_USEDEFAULT,CW_USEDEFAULT,WINDOW_WIDTH,WINDOW_HEIGHT,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,SW_NORMAL);
UpdateWindow(hwnd);
Direct3D_Init(hwnd);

這在沒有D3D渲染部分的代碼時都正確,一旦加上渲染部分的代碼,就會出現標題所示的異常,而解決辦法就是使用第一種順序(而在平時,我一般都是寫在窗口更新之後的,沒有什麼問題,這一次真是烏龍了)!
發佈了36 篇原創文章 · 獲贊 26 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章