[問題] GetItemDataPtr得到NULL
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
MFC
問題(Question):
我在ListBox裡新增了一串的字串跟指標
用SetItemDataPtr來給他資料的指標
但是我在要取出指標時有些會變成NULL
可能是固定的第18筆資料(或是更多的其他筆資料也會)
每次用GetItemDataPtr就會得到NULL
但是我在SetItemDataPtr的時候都是回傳成功的值
程式碼(Code):(請善用置底文網頁, 記得排版)
BOOL CSystem::ShowList(CMyFilm *ListFilm,int Num)
{
CProjectApp *m_App=(CProjectApp*)AfxGetApp();
int i;
for(i=0;i<Num;i++)
{
m_App->m_List.AddStr(ListFilm[i]);
if(m_App->m_List.pListBox->SetItemDataPtr
(i,&ListFilm[i])==LB_ERR)
AfxMessageBox(L"SetItemDataPtr ERROR");
}
return 0;
}
上面這段是新增了一堆影片的片名
和影片的指標給他
過程都沒有跳出AfxMessageBox(L"SetItemDataPtr ERROR");
應該是都成功
CMyFilm* ListBar::GetCurrentDataPtr()
{
int index;
CMyFilm *film;
CString Debug;
index=pListBox->GetCurSel();
Debug.Format(L"%d",index);
film=(CMyFilm*)(pListBox->GetItemDataPtr(index));
if(film==NULL)
AfxMessageBox(L"film==NULL ; "+Debug);
if(index==-1)
AfxMessageBox(L"Not choose");
return film;
}
不過在得到指標的地方
一堆都是得到NULL
也就是要回傳的film==NULL
為什麼會這樣??
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.175.131.223