我做一个扩展的DLL添加了导出类CText如下:
class AFX_EXT_CLASS CText  
{
public:
CText();
virtual ~CText();
void SetText(CString str){m_strText=str;}
CString GetText(){return m_strText;}
protected:
CString m_strText;};然后做测试程序Test
添加两个按钮
void CTestDlg::OnButton1() 
{
CString str=_T("ddddddddd");
m_text.SetText(str);
}void CTestDlg::OnButton2() 
{
AfxMessageBox(m_text.GetText());
}
如果使用“Execute Program"测试程序 一点问题都没有。
但如果使用“Go(F5)”测试程序,单击Button1第一次没事,单击Button1第二次则出现如下:
“user breakpoint called from code at 0x77f813b1"的消息框;在Output窗口显示如下:
HEAP[Test.exe]: Invalid Address specified to RtlFreeHeap( 340000, 9116a0 );
不知道什么原因