关于内存申请的问题
在第二次执行的时候WM_KEYDOWN,即case WM_KEYDOWN结束在触发的时候,TCHAR *TempStr = new TCHAR[ 100 ] 就出错了,为什么呢?
HRESULT InsertText( TCHAR **Str,DWORD Location,TCHAR Text ){ if( Str != NULL ) { TCHAR *TempStr = new TCHAR[ 100 ]; delete [] *Str; *Str = TempStr; } return S_OK;}/************************************************************************************/ case WM_KEYDOWN: { InsertText( &pTextBox->StrSource,pTextBox->CursorLocation,wParam); InsertText( &pTextBox->StrSource,pTextBox->CursorLocation,wParam); InsertText( &pTextBox->StrSource,pTextBox->CursorLocation,wParam); RECT rc = {0,0,pTextBox->Text->LabelDes.Size.x,pTextBox->Text->LabelDes.Size.y}; pTextBox->Text->TextTexture->Release(); Str2Texture( pTextBox->StrSource,_tcslen( pTextBox->StrSource ), &rc,&pTextBox->Text->TextTexture,pTextBox->Text->FontHeight,pTextBox->Text->FontWidth,DT_WORDBREAK,0,0,&pTextBox->Text->Rows,&pTextBox->Text->TextLocationArray); pTextBox->pCtrlClass->SetPic( pTextBox->Text->TextTexture,pTextBox->Text->idLabel ); } }