关于CTypefaceStore -1异常

关于CTypefaceStore -1错误
小弟定义了两个字体,一个是系统字体。一个是自定义字体。
C/C++ code
const CFont* ifont;
CFont* font;

ifont = iEikonEnv->DenseFont();

TFontSpec fontSpec = iEikonEnv->NormalFont()->FontSpecInTwips();
fontSpec.iHeight = 120;
iCoeEnv->ScreenDevice()->GetNearestFontInTwips(font, fontSpec);    

CWindowGc& gc = SystemGc();
gc.Clear( aRect );
gc.UseFont(font);
gc.SetPenColor(TRgb(0,0,0));
gc.DrawText(iBuf,TPoint(iTitleTextX,iTitleTextY));
gc.DiscardFont();
iCoeEnv->ScreenDevice()->ReleaseFont(font);

gc.UseFont(ifont);
gc.SetPenColor(TRgb(255,255,255));
gc.DrawText(iArrayTitle[loop]->Des(),TPoint(TitleTxtX,TitleTxtY));
gc.DiscardFont();


以上代码出现了CTypefaceStore -1错误 有会的朋友吗,帮我解答一下

------解决方案--------------------
探讨

没有release 字体,你那个系统的字体,还有就是ifont = iEikonEnv->DenseFont() ;之前也要删除
,析构的时候删了吗