伊莉討論區
標題:
[已解決]Visual c++ 2010 MFC AddString函數以及CString用法
[打印本頁]
作者:
vbn710565
時間:
2013-9-3 09:03 AM
標題:
[已解決]Visual c++ 2010 MFC AddString函數以及CString用法
本帖最後由 vbn710565 於 2013-9-3 11:34 AM 編輯
各位版大們好~小弟最近在學習MFC(因為公司經理指定...)最近在使用上CString以及AddString在創建ListBox及ComboBox時
為什麼不能這樣寫:
BOOL CCamdlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: 在此加入額外的初始化
CString item[5]={"one","two","three","four","five"};
for(int i=0;i<5;i++)
((CListBox*)GetDlgItem(IDD_camdlg))->AddString(item[i]);
((CListBox*)GetDlgItem(IDD_camdlg))->SetCurSel(0);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX 屬性頁應傳回 FALSE
}
複製代碼
執行時會中斷
顯示:
於 0x0154e9dc 的 test.exe 中第一個可能發生的例外狀況: 0xC0000005: 讀取位置 0x00000020 時發生存取違規
於 0x0154e9dc 的 test.exe 中發生未處理的例外狀況: 0xC0000005: 讀取位置 0x00000020 時發生存取違規
是不是我有什麼地方沒宣告好??
我已經看書、查資料快一個星期....還是無解
求各位版大解惑
如果還需要付上其他段程式碼我會立即付上的...
作者:
kaworucloud
時間:
2013-9-3 11:14 AM
基本上這一段看起來沒問題,只不過 IDD_camdlg 這邊有點怪
IDD_ 習慣上是給 Dialog 用的,CListBox 是個 Control,
如果你沒自己改過 ID,那應該會是 IDC_ 開頭才對
比較大的可能性是你給錯 ID,GetDlgItem 回傳的是 NULL 或非你預期的元件
作者:
cockroachrun
時間:
2013-9-3 11:16 AM
請問你的 IDD_camdlg 是ListBox control 的ID 嗎?
如果不是. 當然會出問題.
作者:
vbn710565
時間:
2013-9-3 11:33 AM
感謝兩位大大,真是一語驚醒夢中人
真的只是給錯ID
不知為何DEBUG這麼久一直沒注意到那邊
歡迎光臨 伊莉討論區 (http://www04.eyny.com/)
Powered by Discuz!