|
最近一直搞EMWIN,遇到很多问题,今天又遇到一个很奇怪的问题,百思不得解,请求大家一起来看下!
在一个窗体的侧边栏有一排快捷菜单,现在我想点击CALC这个计算器,直接跳转到计算器的界面, 计算器的界面已经做好了,在另一个桌面,专门有个计算器的图标,点击进去是没问题的,已经封装成了一个函数WFGUI_CALC(); 现在我实现过程是这样的,点击侧边栏计算器图标后,我会先删除侧边栏窗口,然后隐藏当前主窗体, 再执行WFGUI_CALC();调出计算器界面,当计算器被关闭后,我再用WM_Show()显示隐藏的那个窗体. 代码如下:
case 1则对应点击计算器图标. 有删除侧边栏, 获取顶层窗口然后隐藏它, 接着调用计算器界面过程.
接下来是WFGUI_Calc()函数初始化界面过程. 关键就在这里了, 我画框的地方, 其实就建立了一个存储设备, 然后选中它,再取消它,其实啥也没做,奇怪的就是这段我不加的话,直接执行完这个函数就进入hardfault()了. 按理论上应该跟它没半点关系啊. 唯一想到的联系是,我调用计算器的那个界面也使用了存储设备,而且它并没被释放掉, 那个窗体只是被隐藏了,当计算器关闭时我来要调那个存储设备.
这之间有啥联系吗?怎么想也没相通怎么会出现硬件错误的,求解释下,谢谢! |
|