class CCmdPaletteSet : public CAdUiPaletteSet { //... } ; BOOL CCmdPaletteSet::Create(CWnd *pwndParent,LPCTSTR strTitle) { //... AddPalette(&m_palatte); return TRUE; }
崩溃的原因:
CAdUiPaletteSet 的析构函数会delete所有Palette,显然m_palatte不能被delete。
解决方法:
CCmdPaletteSet::~CCmdPaletteSet () { RemovePalette(&m_palatte); }