急 了大家才编出的程序如何还是不行,多谢!

急!!! 求助了大家才编出的程序怎么还是不行,谢谢!!!
怎么还是不行呢,急死了,因为初学,调了几天都调不出来
哪位大侠帮我看看我的程序

CString   str   =   "a#bc#dfgh#e ";
CString   str1,   str2,   str3,   str4;
CStringArray   StrArray;

void   CMy30Dlg::dispach()
{
AfxExtractSubString(str1,   str,   0,   '# ');//str1= "a "
AfxExtractSubString(str2,   str,   0,   '# ');//str2= "bc "
AfxExtractSubString(str3,   str,   0,   '# ');//str3= "dfgh "
AfxExtractSubString(str4,   str,   0,   '# ');//str4= "e "


StrArray.Add(str1);
StrArray.Add(str2);
StrArray.Add(str3);
StrArray.Add(str4);
}

//   我把用#号分隔的字符串,分别取出来放在str1,str2,str3,str4中,再放到StrArray中

void   CMy30Dlg::display()
{
                  UpdateData();
m_fre   =   StrArray.GetAt(1);
m_bw   =   StrArray.GetAt(2);
m_sen   =   StrArray.GetAt(3);
m_hop   =   StrArray.GetAt(4);
                    UpdateData(false);

}  

//   m_fre,m_bw,m_sen,m_hop是我和Edit控件相关连的四个CString类型的变量,   我在这个函数里面想实现把保存的四个字符显示在四个edit编辑框中

哪里不对????怎么显示不出来
急死了!谢谢

------解决方案--------------------
m_fre = StrArray.GetAt(0);
m_bw = StrArray.GetAt(1);
m_sen = StrArray.GetAt(2);
m_hop = StrArray.GetAt(3);
------解决方案--------------------
试了一下, 上在的AfxExtractSubString那几步应改为下面的:
AfxExtractSubString(str1, str, 0, '# ');//str1= "a "
AfxExtractSubString(str2, str, 1, '# ');//str2= "bc "
AfxExtractSubString(str3, str, 2, '# ');//str3= "dfgh "
AfxExtractSubString(str4, str, 3, '# ');//str4= "e "
------解决方案--------------------
AfxExtractSubString(str1, str, 0, '# ');//str1= "a "
AfxExtractSubString(str2, str, str1.GetLength(), '# ');//str2= "bc "
AfxExtractSubString(str3, str, str2.GetLength(), '# ');//str3= "dfgh "

str4 = str.Mid(str1.GetLength() + str2.GetLength() + str3.GetLength() + 3);