连续调用这个函数十分钟后,程序报错。(每秒钟调用七次)void CTestDlg::ShowTime(CString str)
{
 BOOL bOK;
 RECT rect;
 LOGFONT lf;
 CRect rcClient;
 CString str1,strtemp;
   CDC * pDC = this->GetDC();
   CDC* memoryDC = new CDC;
   CBrush m_Brush;
   m_Brush.DeleteObject();
m_Brush.CreateSolidBrush(RGB(0,0,0));
CDC* mem=m_Pict.GetDC();
   CBitmap bitmap;
    bitmap.LoadBitmap(IDB_BITMAP1);
     memoryDC->CreateCompatibleDC(mem);
 memoryDC->SelectObject(&bitmap);
 memoryDC->SetBkMode(TRANSPARENT);
   memoryDC->SelectObject(&m_Brush);
   memoryDC->Rectangle(0, 0, 128, 64);
   memoryDC->SetBkMode(TRANSPARENT);//OPAQUE);
memoryDC->SetTextColor(RGB(255,0,0));
       m_Pict.GetClientRect(&rcClient);
       pDC->GetCurrentFont()->GetLogFont(&lf);
       CFont font,font1, *pOldFont;
   memset(&lf, 0, sizeof(LOGFONT)); 
       lf.lfCharSet=134;
       lf.lfHeight=::MulDiv(15,pDC->GetDeviceCaps(LOGPIXELSY),72);    
       lf.lfWidth=0;
   lf.lfWeight=900;
       strcpy(lf.lfFaceName, "宋体");
       font.CreateFontIndirect(&lf);  
   lf.lfHeight=::MulDiv(12,pDC->GetDeviceCaps(LOGPIXELSY),72);
   lf.lfWeight=500;
   font1.CreateFontIndirect(&lf);
   // 更改当前刷子
       CBrush br;
   br.CreateSolidBrush(RGB(0, 0, 0));
       dc->FillRect(&rcClient,&br);//*****该dc是个全局变量,换成局部变量同样报错。
       pOldFont=dc->SelectObject(&font);
   memoryDC->SelectObject(&font);
       dc->SetTextColor(RGB(255,0,0));
       dc->SetBkMode(TRANSPARENT);
   str1="";strtemp="";
   int i1=str.GetLength();
   int k1=str.Find('a ',1);
   if (k1>0) 
   {
str1=str.Left(k1-1);//dc->TextOut(0,0,str1);
strtemp=str.Right(i1-k1-1);
   }
       i1=strtemp.GetLength()*21;
       k1=(128-i1/2)/2;
       dc->TextOut(k1, 24, strtemp);
   memoryDC->TextOut(k1, 24, strtemp);
       pOldFont=dc->SelectObject(&font1);
   memoryDC->SelectObject(&font1);
       i1=str1.GetLength()*16;
       k1=(128-i1/2)/2;
   dc->TextOut(k1, 0, str1);
   memoryDC->TextOut(k1, 0, str1);
       pDC->ReleaseOutputDC();
  memoryDC->DeleteDC();
}请帮帮看看