i created a class "myCComboBoxEx" derived from CComboBoxEx, and i was trying to create a CImagelist objective for myCComboBoxEx, when it is running, got a run-time-error:

my code is as following:
...........
//bing, added, create/load the imagelist for the CcomboBoxEx object
m_imagelist1.Create(30, 30, ILC_COLOR, 2, 2);
CBitmap m_bitmap_temp;
m_bitmap_temp.LoadBitmapW(IDB_BITMAP1);
m_imagelist1.Add(&m_bitmap_temp, (CBitmap*)NULL);
m_bitmap_temp.Detach();
m_bitmap_temp.LoadBitmapW(IDB_BITMAP2);
m_imagelist1.Add(&m_bitmap_temp, (CBitmap*)NULL); //BING, test
m_bitmap_temp.Detach();
m_bitmap_temp.LoadBitmapW(IDB_BITMAP3);
m_imagelist1.Add(&m_bitmap_temp, (CBitmap*)NULL);
m_bitmap_temp.Detach();
m_bitmap_temp.LoadBitmapW(IDB_BITMAP4);
m_imagelist1.Add(&m_bitmap_temp, (CBitmap*)NULL);
m_bitmap_temp.Detach();
m_bitmap_temp.LoadBitmapW(IDB_BITMAP5);
m_imagelist1.Add(&m_bitmap_temp, (CBitmap*)NULL);
m_bitmap_temp.Detach();
m_bitmap_temp.LoadBitmapW(IDB_BITMAP6);
m_imagelist1.Add(&m_bitmap_temp, (CBitmap*)NULL);
m_bitmap_temp.Detach();
m_bitmap_temp.LoadBitmapW(IDB_BITMAP7);
m_imagelist1.Add(&m_bitmap_temp, (CBitmap*)NULL);
m_bitmap_temp.Detach();
m_bitmap_temp.LoadBitmapW(IDB_BITMAP8);
m_imagelist1.Add(&m_bitmap_temp, (CBitmap*)NULL);
m_bitmap_temp.Detach();
m_bitmap_temp.DeleteObject(); //bing, to save memory space
m_comboBoxEx1.SetImageList(&m_imagelist1); //bing, memory leaks? comboboxex bugs? or limits on images????????
COMBOBOXEXITEM comboboxItem;
CString str;
when it runs to here, "Debug Assertion Fails" pops up....l....
m_comboBoxEx1.SetImageList(&m_imagelist1);
i searched so many articles but none of them could answer my question, what should i do?
thanks.