@2018-10-15
導致宕機的**示例如下
1/**2* @brief widget id define
3* @
16*/
1718
1920/**
21* @brief widget resource list
22* @,
27 ,
28 ,
29 ,
30 ,
31 ,
32 ,
33//
user start (optionally insert additional widgets)
34//
user end
35};
3637
38static
void _cbdialog(wm_message *pmsg) {
39wm_hwin hitem;
40int
ncode;
41int
id;42
//user start (optionally insert additional variables)
43//
user end
4445
switch (pmsg->msgid) {
46case
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);
6162
edit_settext(hitem, "出廠編號");
63edit_settextalign(hitem, &gui_fonthz16);
64edit_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);
71edit_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");
77edit_setfont(hitem, gui_font_16_1);
78 edit_settextalign(hitem, gui_ta_left |gui_ta_vcenter);
7980
text_settext(hitem, "123456789");
81text_setfont(hitem, gui_font_16_1);
82text_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
98break
;99
上段code中紅色**為控制項函式誤用,即text控制項的initialize部分使用了edit控制項的函式,edit控制項的initialize部分使用了text控制項的函式,這種情況編譯器不會報警,但實際操作現象出現宕機
使用WebView控制項時執行出現錯誤提示
在使用webview控制項時,執行過程中單擊沒有效果,並提示以下錯誤 qsslsocket cannot call unresolved function sslv23 client method qsslsocket cannot call unresolved function ssl ctx ...
C 函式模板特化導致的多重定義鏈結錯誤
標題說的可能不是很清楚,解釋一下,函式模板,一般都是放在標頭檔案裡面,所以有些時候,我也會做乙個特化,也放在這個標頭檔案裡面,當這個標頭檔案出現多次的包含之後,就會出現鏈結多重定義的錯誤,先說乙個例子,如下 有檔案 header.h ifndef header define header templ...
inline函式使用容易導致出錯的問題
對於inline函式,首先應該要短小 inline只是對編譯器的乙個建議,編譯器是可以忽略的 其次inline函式的定義一定要與呼叫它的部分在同乙個原始檔裡,不同的原始檔可以分別定義乙個相同inline函式,內容都可以不同 不違反重複定義原則 但是這樣做會引起程式呼叫的不確定性,應該避免這種情況。為...