release版本不能运行,debug是好使的
CMainWindow继承于 CFrameWnd。设置断点,单步运行,release版本的毛病出在 Create 函数,debug版没有问题
- C/C++ code
BOOL CMainWindow::PreCreateWindow(CREATESTRUCT& cs){ CFrameWnd::PreCreateWindow(cs); cs.dwExStyle = cs.dwExStyle & (!WS_EX_CLIENTEDGE); cs.style = cs.style & (~ WS_SIZEBOX); cs.style = cs.style & (~ WS_MAXIMIZEBOX); return TRUE;}CMainWindow::CMainWindow(){ CRect r; r.left = CW_USEDEFAULT; r.top = CW_USEDEFAULT; r.right = r.left+ 500 + ::GetSystemMetrics(SM_CYBORDER)*2; r.bottom = r.top + 373 + ::GetSystemMetrics(SM_CYBORDER)*2 + ::GetSystemMetrics(SM_CYMENU) + ::GetSystemMetrics(SM_CYCAPTION); Create(NULL, L"鹏来电脑", WS_OVERLAPPEDWINDOW , r);}[解决办法]
不应该在构造函数里调用Create吧
没有响应WM_CREATE消息?
[解决办法]
release版本的毛病出在 Create 函数?返回什么错误?
用GetLastError()瞧下
一般来说,Release和Debug版本的区别就在于编译器是否跟你初始化变量
不过我怀疑你是
L"鹏来电脑"
这个地方出了问题
检查下你工程的设置,release和debug都是UNICODE不???
具体的做法是,Project->setting里面,C/C++选项卡
preprocessor definitions(预编译定义)
看里面是否有_UNICODE(注意Debug和Release模式都要检查看下)。
最好是都把_UNICODE去掉,L"鹏来电脑"前的L也去掉,别搞UNICODE
[解决办法]