|
倒腾了好久, 实在没办法了, 来论坛求教.
由于资源非常有限, 控件显示完数据后需要立马清除,释放内存,否则其它控件无法显示.
现在的问题是显示完曲线清除窗口时候立马死机...
麻烦各位看看,我是哪里错了??
- //--------------------------------------------------------------------------------------------//
- void CURV_Voltage_Curve(Port_TypeDef * ch)
- {
- GRAPH_DATA_Handle hData;
- GRAPH_SCALE_Handle hScaleV, hScaleH;
- WM_HWIN hGraph;
-
- if(in[9].y++ > 80)in[9].y = 0;
- hGraph = GRAPH_CreateEx(0, 115, 190, 95, WM_HBKWIN, WM_CF_SHOW, 0, GUI_ID_GRAPH0);
- WM_EnableMemdev(hGraph);
- hData = GRAPH_DATA_XY_Create(GUI_WHITE, 10, in, 10);//创建 GRAPH_DATA_XY 对象
- GRAPH_AttachData(hGraph, hData); //将数据对象附加到 GRAPH 控件
- // GRAPH_SetUserDraw(hGraph, _UserDraw); //设置用户回调函数
- GRAPH_SetGridDistX(hGraph, 20);
- GRAPH_SetGridDistY(hGraph, 20); //设置垂直网格间距。
- GRAPH_SetBorder(hGraph, 1, 1, 1, 1); //设置边框
- GRAPH_SetGridVis(hGraph, 1); //启用网格绘制
- hScaleV = GRAPH_SCALE_Create(20, GUI_TA_RIGHT, GRAPH_SCALE_CF_VERTICAL, 20);//创建 GRAPH_SCALE 对象
- // GRAPH_SCALE_SetOff(hScale, 20);//设置添加到编号的可选偏移。
- GRAPH_SCALE_SetTextColor(hScaleV, GUI_DARKGREEN);
- GRAPH_AttachScale(hGraph, hScaleV); //将刻度对象附加到 GRAPH 控件
- hScaleH = GRAPH_SCALE_Create(70, GUI_TA_HCENTER, GRAPH_SCALE_CF_HORIZONTAL, 50);
- GRAPH_SCALE_SetFactor(hScaleH, 0.02f);
- GRAPH_SCALE_SetTextColor(hScaleH, GUI_DARKGREEN);
- GRAPH_AttachScale(hGraph, hScaleH);
- GUI_Exec();
- FreeBytes = GUI_ALLOC_GetNumFreeBytes(); //返回可用空闲内存
- WM_DeleteWindow(hGraph);
- }
复制代码
|
-
剩余内存数量
-
死机后的断点和函数
|