游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3285|回复: 9

"未处理异常:写入位置0x********处访问冲突"..

[复制链接]

14

主题

61

帖子

65

积分

注册会员

Rank: 2

积分
65
发表于 2005-8-16 20:52:00 | 显示全部楼层 |阅读模式
下面是一个消息处理函数的片段:

switch( message )
        {
                case WM_ACTIVATEAPP:
                        if(wParam)//cgame->Continue();//当前窗口激活
                        {
                                cgame->bActive=true;
                                cgame->cinput->ReAcquireKey();
                                cgame->cinput->ReAcquireMouse();
                                cgame->csound->goonplay();
                        }
                        else //cgame-&gtause();
                        {
                                cgame->bActive=false;
                                cgame->cinput->UnAcquireKey();
                                cgame->cinput->UnAcquireMouse();
                                cgame->csound->pause();
                        }
                        return 0;
                                ...............
               }//cgame声明为全局变量

编译通过,但运行时报错RT,可气的是我把bActive,cinput,csound声明为全局变量后居然正常运

行!!我又试一下发现在这个case中对cgame的成员只能读取而不能写入(在主消息循环里可以)!这是为什么? [em7] [em24]

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-8-16 21:20:00 | 显示全部楼层

Re:"未处理异常:写入位置0x********处访问冲突"...救

这个问题多种多样。。。可能是你指针的问题吧。

139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2005-8-16 21:30:00 | 显示全部楼层

Re:"未处理异常:写入位置0x********处访问冲突"...救

指针没new

14

主题

61

帖子

65

积分

注册会员

Rank: 2

积分
65
 楼主| 发表于 2005-8-16 21:49:00 | 显示全部楼层

Re: Re:"未处理异常:写入位置0x********处访问冲突"...

♂樱♀: Re:"未处理异常:写入位置0x********处访问冲突"...救命啊

指针没new


请看代码:

int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR
                                   lpCmdLine, int nCmdShow)
{
        if ( !InitWindow( hInstance, nCmdShow ) ) return FALSE; //创建主窗口
        //如果创建不成功则返回FALSE并同时退出程序
        MSG msg;
        cgame=new Game(&hWnd);
        //if(!cgame->Init())return FALSE;
        //进入消息循环:
        for(;;)
        {
                if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
                {
                        if ( msg.message==WM_QUIT)  
                        {
                                break;
                        }
                        TranslateMessage(&msg);
                        DispatchMessage(&msg);
                }
                else
                {
                        if(!cgame->IsActive())continue;
                        cgame->Update();
                        //cgame->DisplayGameInfo();
                        //cgame->DisplayDebugInfo();
                }
        }
        SAFE_DELETE(cgame)
        return msg.wParam;
}

我new 了把 [em3]

85

主题

824

帖子

878

积分

高级会员

Rank: 4

积分
878
QQ
发表于 2005-8-16 22:45:00 | 显示全部楼层

Re:"未处理异常:写入位置0x********处访问冲突"...救

switch( message )
{
case WM_ACTIVATEAPP:
if(cgame)
{
if(wParam)//cgame->Continue();//当前窗口激活
{
cgame->bActive=true;
cgame->cinput->ReAcquireKey();
cgame->cinput->ReAcquireMouse();
cgame->csound->goonplay();
}
else //cgame-&gtause();
{
cgame->bActive=false;
cgame->cinput->UnAcquireKey();
cgame->cinput->UnAcquireMouse();
cgame->csound->pause();
}
}
return 0;

139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2005-8-16 22:45:00 | 显示全部楼层

Re:"未处理异常:写入位置0x********处访问冲突&quot

创建主窗口的时候指针还没有new,请好好学习win32编程

14

主题

61

帖子

65

积分

注册会员

Rank: 2

积分
65
 楼主| 发表于 2005-8-16 23:48:00 | 显示全部楼层

Re:"未处理异常:写入位置0x********处访问冲突"...救

谢谢楼上的两位!!原来创建窗口时会产生一个WM_ACTIVATEAPP啊,奸笑了,HEIHEI

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-8-17 09:56:00 | 显示全部楼层

Re:"未处理异常:写入位置0x********处访问冲突"...救

我晕,水王都已经快2000张帖子了!

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-8-17 09:58:00 | 显示全部楼层

Re:"未处理异常:写入位置0x********处访问冲突"...救

要好好学习win32啊,像我们樱同志学习!

139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2005-8-17 12:11:00 | 显示全部楼层

Re:"未处理异常:写入位置0x********处访问冲突"...救

像我学习灌水吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-27 10:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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