Ich weiß dass das Fensterhandle erst freigegeben werden muss bevor UnregisterClass_() erfolgreich ist. Aber genau das ist mein Problem. Im Moment gibt UnregisterClass_() #Null zurück weil das Handle noch existiert. Wenn ich nun DestroyWindow_() hinzufüge funktioniert es aber UnregisterClass_() gibt dann mehrfach zurück.
Code: Alles auswählen
OpenWindow(0,0,0,320,240,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
Procedure WindowProc(hWnd,uMsg,wParam,lParam)
Select uMsg
Case #WM_DESTROY
;DestroyWindow_(hWnd)
Debug UnregisterClass_("AFX_NIT22Demo",0)
ProcedureReturn 0
EndSelect
ProcedureReturn DefWindowProc_(hWnd,uMsg,wParam,lParam)
EndProcedure
wc.WNDCLASS
wc\lpfnWndProc = @WindowProc()
wc\hCursor = LoadCursor_(0,#IDC_CROSS)
wc\hbrBackground = #COLOR_WINDOW + 1
wc\lpszClassName = @"AFX_NIT22Demo"
RegisterClass_(wc)
Result = CreateWindowEx_(#WS_EX_CLIENTEDGE,"AFX_NIT22Demo",0,#WS_CHILD | #WS_VISIBLE,10,10,200,130,WindowID(0),0,0,0)
While WaitWindowEvent() ! #PB_Event_CloseWindow : Wend