Visual Studio我觉得堆错误

时间:2011-02-03 17:20:09

标签: c++ winapi

我正在使用C ++和WinApi32进行项目。有3个班,每个班约150个 行代码。

在我的主窗口中,下面的代码将经常运行:

wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hbrBackground = CreateSolidBrush(BkColor);
wc.hCursor = LoadCursor(NULL,IDC_HAND);
wc.hIcon = NULL;
wc.hInstance = hInstance;
vertex_hInstance = hInstance;
wc.lpfnWndProc = VertexProc;
wc.lpszClassName = Vertex_Class;
wc.lpszMenuName=NULL;
wc.style = CS_HREDRAW|CS_VREDRAW;
RegisterClass(&wc);
hWnd = CreateWindow(Vertex_Class,L"",WS_CHILD|WS_BORDER,getx(),gety(),getw(),geth(),parent_HWND,NULL,hInstance,0);

这是我早期定义的类的功能。运行程序:没有错误,一切都很好。关闭程序:给我错误: Windows触发了一个断点,看图片: Visit Error

1 个答案:

答案 0 :(得分:1)

您所显示的代码不足以说明导致您所述问题的原因。

但是,您不应多次注册同一个窗口类。

我不知道“经常”注册相同窗口类的效果,因为它不是人们所做的事情(所以我没有经验),但可以想象它可能是吞噬资源,反过来可能产生非常不利的影响......

通常的解决方案是仅在第一次注册窗口类时,或者在创建该类的任何窗口之前注册窗口类。

E.g。你可以使用单身来实现这一点。

干杯&第h。,