硬汉嵌入式论坛

 找回密码
 立即注册
查看: 7666|回复: 4
收起左侧

[emWin] 调用GRAPH_DATA_YT_Clear(hItem);异常,什么原因?

[复制链接]

41

主题

97

回帖

220

积分

高级会员

积分
220
发表于 2013-11-18 16:23:06 | 显示全部楼层 |阅读模式
画曲线正常,想把数据清除,调用GRAPH_DATA_YT_Clear(hItem);异常死机,是什么原因呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116829
QQ
发表于 2013-11-18 18:55:02 | 显示全部楼层
出错的原因估计是你没有正确的调用造成的。
回复

使用道具 举报

41

主题

97

回帖

220

积分

高级会员

积分
220
 楼主| 发表于 2013-11-19 09:09:31 | 显示全部楼层
是的,句柄写错了!
回复

使用道具 举报

1

主题

12

回帖

1

积分

新手上路

积分
1
发表于 2014-4-29 11:14:17 | 显示全部楼层

回 eric2013 的帖子

eric2013:
出错的原因估计是你没有正确的调用造成的。
硬汉,我这样写调用应该是对了啊,前两个button都能正常工作,但是一按第三个立刻就异常了  也就是这句话:GRAPH_DATA_YT_Clear(hData);
相关代码如下:我要实现的功能是点正弦按键的时候显示正弦波,按方波按键显示方波。现在的问题是只点击其中一个都正常,先点其中一个再点另一个就会两个波形都出现。我觉得应该是原来的数据项没有删除,所以调用了GRAPH_DATA_YT_Clear,结果直接异常了。。。。求解决,谢谢
       case ID_BUTTON_14: // Notifications sent by '正弦波¨'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        // USER START (Optionally insert code for reacting on notification message)
                                convert_sin();//计算正弦表
                                hData=GRAPH_DATA_YT_Create(GUI_RED,200,wave_data,200);
                                GRAPH_DATA_YT_SetOffY(hData, 60);
                                GRAPH_DATA_YT_SetAlign(hData, GRAPH_ALIGN_LEFT);
                                hItem = WM_GetDialogItem(pMsg->hWin, ID_GRAPH_0);
                                GRAPH_SetGridDistX(hItem, 10);
                                GRAPH_SetGridDistY(hItem, 10);

                                GRAPH_SetGridVis(hItem, 1);

                                GRAPH_AttachData(hItem, hData);
        // USER END
        break;
      case WM_NOTIFICATION_RELEASED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      // USER START (Optionally insert additional code for further notification handling)
      // USER END
      }
      break;
                        case ID_BUTTON_15: // Notifications sent by '·方波¨'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        // USER START (Optionally insert code for reacting on notification message)
                                convert_square();
                                hData=GRAPH_DATA_YT_Create(GUI_RED,200,wave_data,200);
                                GRAPH_DATA_YT_SetOffY(hData, 60);
                                GRAPH_DATA_YT_SetAlign(hData, GRAPH_ALIGN_LEFT);
                                hItem = WM_GetDialogItem(pMsg->hWin, ID_GRAPH_0);
                                GRAPH_SetGridDistX(hItem, 10);
                                GRAPH_SetGridDistY(hItem, 10);
                                GRAPH_SetGridVis(hItem, 1);
                                GRAPH_AttachData(hItem, hData);
        // USER END
        break;
      case WM_NOTIFICATION_RELEASED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      // USER START (Optionally insert additional code for further notification handling)
      // USER END
      }
                        break;
                        case ID_BUTTON_16: // Notifications sent by '清除graph'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        // USER START (Optionally insert code for reacting on notification message)
//                                hData=GRAPH_DATA_YT_Create(GUI_RED,200,wave_data,200);
//                                hItem = WM_GetDialogItem(pMsg->hWin, ID_GRAPH_0);
                                 GRAPH_DetachData(hItem, hData);
                                GRAPH_DATA_YT_Clear(hData);
//                                GRAPH_DetachData(hItem, hData);
//                                GRAPH_DATA_YT_Delete(hData);
//                                WM_DeleteWindow(hItem);
//                                hItem = WM_GetDialogItem(pMsg->hWin, ID_GRAPH_0);
//                                GRAPH_SetBorder(hItem, 2, 2, 2, 2);
//                                hItem = GRAPH_CreateEx(120, 60, 200, 130, WM_HBKWIN, WM_CF_SHOW, 0, ID_GRAPH_0);
//                                hData = GRAPH_DATA_YT_Create(GUI_RED,200,wave_data,200);
//                                GRAPH_AttachData(hGraph, hData);
        // USER END
        break;
      case WM_NOTIFICATION_RELEASED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      // USER START (Optionally insert additional code for further notification handling)
      // USER END
      }
    // USER END
    }
    break;
回复

使用道具 举报

1

主题

4

回帖

0

积分

新手上路

积分
0
发表于 2014-4-30 16:12:51 | 显示全部楼层
句柄写错了!
沈阳骨科医院www.wjkfk.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-7-7 11:35 , Processed in 0.289094 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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