版主,我参考你的程序在我板子上移植之后,滑动,进入子菜单都正常,但是在子菜单中不能返回到主菜单中,点击返回主菜单,程序就飞掉,
switch(GUI_GetKey()) {
case Button_ID0:
GUI_CreateDialogBox(TimeSetDialog, GUI_COUNTOF(TimeSetDialog), TimeSetCallBack, 0, 0, 0);
break;
case Button_ID1:
GUI_CreateDialogBox(TilesSetDialog, GUI_COUNTOF(TilesSetDialog), ThemeSetCallBack, 0, 0, 0);
break;
case Button_ID2:
GUI_CreateDialogBox(BGaDialogCreate, GUI_COUNTOF(BGaDialogCreate), BGSetCallBack, 0, 0, 0);
break;
case Button_ID3:
Touchflag = 1;
break;
case Button_ID4:
GUI_CreateDialogBox(SysInfoDialog, GUI_COUNTOF(SysInfoDialog), SysInfoCallBack, 0, 0, 0);
break;
case Button_ID5:
Touchflag = 1;
break;
case Button_ID6:
Out_OtherMenu(); //退出设置界面
Go_MainMenu(); //进入主界面
OSTaskDel(OS_PRIO_SELF); //删除自己
break;
default :
TouchCmd = 1;
Touchflag = 1;
break;
}
当相应Button_ID6的时候,程序就飞掉了,请问这是什么原因啊
void Out_OtherMenu(void)
{
U8 i = 0;
SingleList pos = OtherMenu_pHead;
for(i=0;i < 12;i++)
WM_Move(OtherMenu_pHead,40,0);//滑动退出
while(pos) {
WM_DeleteWindow(pos -> handle); //删除链表中的控件
pos = pos->next;
}
SingleListFree(OtherMenu_pHead); //释放链表
}
执行这个函数里的这句话第一次就跑飞(即i=0)WM_Move(OtherMenu_pHead,40,0);//滑动退出
|