急在使用MFC扩展的DLL中出现的有关问题,望迷津

急急!!!,在使用MFC扩展的DLL中出现的问题,望高手指点迷津
小弟,在进行MFC扩展Dll中存在的问题,具体的步骤是这样的:
1、使用AppWizard创建了个MFC扩展的DLL工程,名字随便起个工程名ExtDllDemo,
2、向工程中添加了一个对话框资源IDD_INPUT,其次在上面绘制了,一个Static控件IDC_PROMPT,和一个Edit控件IDC_EDIT,
3、用ClassWizard为对话框IDD_INPUT创建了一个新的对话框类CInputDlg   ,该类是直接从CDialog派生,我在这个类的声明中加入关键字 _declspec(dllexport)
就是这样:class   _decpspec(dllexport)   CInputDlg:   public   CDialgo
{
....类体....
//我加的变量和函数
public:
                CString   m_strTitle;  
                CString   m_strPrompt;  
                CString   m_strInput;     //只有这个变量和刚刚的控件关联,和IDC_EDIT
public:
    CString   GetInput(CString   Title,   CString   Prompt);  

}
//GetInput()函数体
CString   CInputDlg::GetInput(CString   Title,   CString   Prompt)
{
            CString   str( " ");  
            m_strTitle   =   Title;  
            m_strPrompt   =   Prompt;  
            if   (   Domodal()   ==   IDOK)
            {
                    str   =   m_strInput;  
              }
              return   str;  
}

//修改了,OnInitDialog 函数
BOOL   CInputDlg::OnInitDialog()
{
            CDialog::OnInitDialog();  
            SetWindowText(m_strTitle);
            GetDlgItem(IDC_PROMPT)-> SetWindowText(m_strPrompt);  
            GetDlgItem(IDC_EDIT)-> SetFoucus();
            return   FALSE;  
}
//上面这个简单的MFC拓展DLL的目的, 就是为了实现向Visul   basic   中的InputBox的功能,功能很简单,主要在于明白Dll使用过程,编译,我生成了dLL文件,之后我又新建了一个MFC的对话框的程序用测试
比如说,我新建的MFC的对话框的程序名称为:ExtDllTest,我将刚刚在工程中生成的ExtDllDemo.dll拷贝到ExtDllTest所在的目录中下,同时我在ExtDllTest程序中作了如下的修改:
1、在实现文件CExtDllTestDlg.cpp的最前面,加入如下的声明语句:
///CInputDlg   dialog
class   _declspec(dllimport)   CInput:   public   CDialog
{
public:
            CString   GetInput(CString   Title,   CString   Prompt);  
            CInputDlg(CWnd*   pParent   =   NULL);  
           

};
//上面的这段代码是在测试工程中定义了类CInputDlg,以便于在以后的代码中使用该类,我只是给出了声明,因为函数的实现是在ExtDllDemo.dll中实现的
2、我修改测试工程ExDllTest的CExtDllTestDlg的OnInitDialog的中的内容:具体就是在//TODO的注释下面加上下面几句用于测试刚刚生成的ExtdllDemo.dll,如下:
//   TODO:   Add   extra   initialization   here
        CInputDlg   dlg;  
        CString     str   =   dlg.GetInput( "输入 ", "请输入对话框的标题 ");  
        SetWindow(str);  

//以上就是我加上的,但是我在执行的时候却出现了,问题,  
出现了错误:Uanbled   exception   in   ExtDllTest.exe(MFC42.DLL):   0xc0000005:   Acess   Violation.

程序终止到下面这个函数中我标有//********注释的地方:
void   CWnd::SetWindowText(LPCTSTR   lpszString)
{
ASSERT(::IsWindow(m_hWnd));

if   (m_pCtrlSite   ==   NULL)