游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2282|回复: 5

今天学习中遇到的问题,努力了一天未能解决,才来请教

[复制链接]

11

主题

49

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2005-4-10 21:43:00 | 显示全部楼层 |阅读模式
1:Message loop无法结束

F5调试执行程序,在我把窗口叉掉后,VC的调试框还在上层,没有返回开发环境,只有按一下"stop debug"才能返回.
主要代码如下:
main(){
for(;;)
{
    if(PeekMessage(&msg,g_hWnd,0,0,PM_REMOVE)
    {
        if(msg.message==WM_QUIT)
              break;
         TranlateMessage(&msg);
         DispatchMessage(&msg);
     }
}
}
WndProc(...){
   switch(messgae)
  {
   case WM_DESTORY:
       PostQuitMessage(0);
       break;
   }
return DefWindowProc(....);
}

2:编译器无提示
LPDIRECT3D g_pD3D;
g_pD3D->
当我打出“->”之后并无任何提示
g_pD3D->CreateDevice(
g_pD3D->Clearear(
当我打出"("之后也无任何参数提示,当我输入所有我的代码后编译,他通过了,这证明了我的包含文件是没有错误的,我将.ncp和.obj文件删除后,问题依旧。

82

主题

331

帖子

340

积分

中级会员

Rank: 3Rank: 3

积分
340
QQ
发表于 2005-4-10 22:34:00 | 显示全部楼层

Re:今天学习中遇到的问题,努力了一天未能解决,才来请教

Break ... then ... DefWindowProc() ?

71

主题

1330

帖子

2585

积分

金牌会员

Rank: 6Rank: 6

积分
2585
发表于 2005-4-11 01:00:00 | 显示全部楼层

Re:今天学习中遇到的问题,努力了一天未能解决,才来请教

问题1,估计是退出消息的处理顺序的问题。程序是先关闭窗口,然后再触发WM_DESTORY消息。
问题2,估计是VS的bug,我也经常出现,你看看有没有vs的补丁可以打

33

主题

669

帖子

669

积分

高级会员

Rank: 4

积分
669
QQ
发表于 2005-4-11 09:13:00 | 显示全部楼层

Re:今天学习中遇到的问题,努力了一天未能解决,才来请教

main()
{
while(Active)
{
    if(PeekMessage(&msg,g_hWnd,0,0,PM_REMOVE)
    {
        if(msg.message==WM_QUIT)
             Active=FALSE;
         TranlateMessage(&msg);
         DispatchMessage(&msg);
     }
     else
    {
       run();
    }
}
}

1

主题

130

帖子

135

积分

注册会员

Rank: 2

积分
135
发表于 2005-4-11 09:34:00 | 显示全部楼层

Re:今天学习中遇到的问题,努力了一天未能解决,才来请教

VC6对类成员的智能提示功能有时候会失灵。你可以先关掉项目,将.clw和.ncb删掉,然后重新打开项目,点击菜单项View->ClassWizard,在弹出的对话框中按一下“Add All”按钮;重新Rebuild All。应该可以解决问题。

11

主题

49

帖子

49

积分

注册会员

Rank: 2

积分
49
 楼主| 发表于 2005-4-11 16:54:00 | 显示全部楼层

Re: 今天学习中遇到的问题,努力了一天未能解决,才来请

谢谢大家给小弟的答案,大家帮助新人的热情真让我感动,让我有了活下去的勇气和力量。
第一个问题我已经解决了
    if(PeekMessage(&msg,g_hWnd,0,0,PM_REMOVE)
这一句有问题,将g_hWnd改为NULL后问题解决,可以正常跳出循环,好像加了g_hWnd之后就不在拦截WM_QUIT消息了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-25 06:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表