我用建立阻塞式的对话框GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0);用jtag仿真发现程序在
/*********************************************************************
*
* GUI_ExecCreatedDialog
*/
int GUI_ExecCreatedDialog (WM_HWIN hDialog) {
WM_DIALOG_STATUS DialogStatus = {0};
/* Let window know how to send feedback (close info & return value) */
GUI_SetDialogStatusPtr(hDialog, &DialogStatus);
while (!DialogStatus.Done) {
if (!GUI_Exec()) {
GUI_X_WAIT_EVENT(); /* Wait for event (keyboard, mouse or whatever) */
}
}
return DialogStatus.ReturnValue;
}
中的 while (!DialogStatus.Done) {
if (!GUI_Exec()) {
GUI_X_WAIT_EVENT(); /* Wait for event (keyboard, mouse or whatever) */
}执行死循环,出不去
为什么会这样。是不是我的
gui_x.c 文件没移植好?
GUI_X_WAIT_EVENT(); 即为gui_x.c 的 GUI_X_ExecIdle();
/*********************************************************************
*
* GUI_X_ExecIdle
*
* Note:
* Called if WM is in idle state
*/
void GUI_X_ExecIdle(void) {}
|