日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

emwin之错误使用控件函数导致死机现象

發(fā)布時間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 emwin之错误使用控件函数导致死机现象 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

@2018-10-15

導(dǎo)致死機的代碼示例如下

1 /** 2 * @brief widget ID define 3 * @{ 4 */ 5 6 #define ID_WINDOW_0 (GUI_ID_USER + 0x00) 7 #define ID_TEXT_0 (GUI_ID_USER + 0x01) 8 #define ID_TEXT_1 (GUI_ID_USER + 0x02) 9 #define ID_EDIT_0 (GUI_ID_USER + 0x03) 10 #define ID_EDIT_1 (GUI_ID_USER + 0x04) 11 #define ID_TEXT_2 (GUI_ID_USER + 0x05) 12 #define ID_BUTTON_0 (GUI_ID_USER + 0x06) 13 14 /** 15 * @} 16 */ 17 18 19 20 /** 21 * @brief widget resource list 22 * @{ 23 */ 24 25 static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = { 26 { WINDOW_CreateIndirect, "factoryWindow", ID_WINDOW_0, 0, 0, 790, 424, 0, 0x0, 0 }, 27 { TEXT_CreateIndirect, "ex-factory date", ID_TEXT_0, 55, 45, 100, 25, 0, 0x64, 0 }, 28 { TEXT_CreateIndirect, "ex-factory number", ID_TEXT_1, 55, 85, 100, 25, 0, 0x64, 0 }, 29 { EDIT_CreateIndirect, "9999-99-99", ID_EDIT_0, 160, 48, 80, 20, 0, 0x64, 0 }, 30 { EDIT_CreateIndirect, "123456789", ID_EDIT_1, 160, 88, 80, 20, 0, 0x64, 0 }, 31 { TEXT_CreateIndirect, "Factory Version", ID_TEXT_2, 15, 15, 120, 25, 0, 0x64, 0 }, 32 { BUTTON_CreateIndirect, "Back", ID_BUTTON_0, 700, 380, 80, 35, 0, 0x0, 0 }, 33 // USER START (Optionally insert additional widgets) 34 // USER END 35 }; 36 37 38 static void _cbDialog(WM_MESSAGE * pMsg) { 39 WM_HWIN hItem; 40 int NCode; 41 int Id; 42 // USER START (Optionally insert additional variables) 43 // USER END 44 45 switch (pMsg->MsgId) { 46 case WM_INIT_DIALOG: 47 // 48 // Initialization of 'ex-factory date' 49 // 50 hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0); 51 TEXT_SetText(hItem, "出廠日期"); 52 TEXT_SetFont(hItem, &GUI_FontHZ16); 53 TEXT_SetTextAlign(hItem, GUI_TA_LEFT | GUI_TA_VCENTER); 54 // 55 // Initialization of 'ex-factory number' 56 // 57 hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1); 58 TEXT_SetText(hItem, "出廠編號"); 59 TEXT_SetFont(hItem, &GUI_FontHZ16); 60 TEXT_SetTextAlign(hItem, GUI_TA_LEFT | GUI_TA_VCENTER); 61 62 EDIT_SetText(hItem, "出廠編號"); 63 EDIT_SetTextAlign(hItem, &GUI_FontHZ16); 64 EDIT_SetFont(hItem, GUI_TA_LEFT | GUI_TA_VCENTER); 65 // 66 // Initialization of '9999-99-99' 67 // 68 hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_0); 69 EDIT_SetText(hItem, "9999-99-99"); 70 EDIT_SetTextAlign(hItem, GUI_TA_LEFT | GUI_TA_VCENTER); 71 EDIT_SetFont(hItem, GUI_FONT_16_1); 72 // 73 // Initialization of '123456789' 74 // 75 hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_1); 76 EDIT_SetText(hItem, "123456789"); 77 EDIT_SetFont(hItem, GUI_FONT_16_1); 78 EDIT_SetTextAlign(hItem, GUI_TA_LEFT | GUI_TA_VCENTER); 79 80 TEXT_SetText(hItem, "123456789"); 81 TEXT_SetFont(hItem, GUI_FONT_16_1); 82 TEXT_SetTextAlign(hItem, GUI_TA_LEFT | GUI_TA_VCENTER); 83 // 84 // Initialization of 'Factory Version' 85 // 86 hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_2); 87 TEXT_SetText(hItem, "出廠信息"); 88 TEXT_SetFont(hItem, &GUI_FontHZ16); 89 TEXT_SetTextAlign(hItem, GUI_TA_LEFT | GUI_TA_VCENTER); 90 // 91 // Initialization of 'Back' 92 // 93 hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0); 94 BUTTON_SetText(hItem, "返回"); 95 BUTTON_SetFont(hItem, &GUI_FontHZ24); 96 // USER START (Optionally insert additional code for further widget initialization) 97 // USER END 98 break; 99

上段code中紅色代碼為控件函數(shù)誤用,即TEXT控件的initialize部分使用了EDIT控件的函數(shù),EDIT控件的initialize部分使用了TEXT控件的函數(shù),這種情況編譯器不會報警,但實際操作現(xiàn)象出現(xiàn)死機

?

轉(zhuǎn)載于:https://www.cnblogs.com/skullboyer/p/9790097.html

總結(jié)

以上是生活随笔為你收集整理的emwin之错误使用控件函数导致死机现象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。