Total Pageviews

Thursday, May 13, 2010

Lesson 13 - Flash and MFC communication

CString cmd;
cmd.Format(_T("\
\
%s\
\
"),
dominId);

try
{
CString result = m_flash.CallFunction(cmd);
return result;
}
catch(...)
{
return _T("");
}


void CChatRoomDemoDlg::FlashCallShockwaveflash1(LPCTSTR request)
{
CMarkup mark(request);
mark.FindElem();
CString MethodName = mark.GetAttrib("name");
if(MethodName.Compare("LoginOver") == 0)
{
bool s = mark.FindChildElem(_T("arguments"));
s = mark.IntoElem();
s = mark.FindChildElem(_T("number"));
s = mark.IntoElem();
CString paramStr = mark.GetData();
int param = atoi(paramStr);
m_proxy->OnLoginOver(param);
switch(param)//
{
case 0:
m_CurrentState = "Login success!!!";
break;
case 1:
m_CurrentState = "dfddfds!!";
break;
case 2:
m_CurrentState = "dsfds!!!";
break;
default:
m_CurrentState = "unknow error!!!";
break;
}
UpdateData(false);
}
else if(MethodName.Compare("ExitRoom") == 0)
{
bool s = mark.FindChildElem(_T("arguments"));
s = mark.IntoElem();
s = mark.FindChildElem(_T("number"));
s = mark.IntoElem();
CString paramStr = mark.GetData();
int param = atoi(paramStr);
m_proxy->OnExitRoom(param);

switch(param)
{
case 0:
m_CurrentState = "ddfgdf!!!";
break;
case 1:
m_CurrentState = "fdgdfgd!!!";
break;
case 2:
m_CurrentState = "dfgdfgdf!!!";
break;
default:
m_CurrentState = "unknow error!!!";
break;
}
UpdateData(false);

}
else if (MethodName.Compare("InvokeCommand") == 0)
{
bool s = mark.FindChildElem(_T("arguments"));
s = mark.IntoElem();
s = mark.FindChildElem(_T("string"));
s = mark.IntoElem();
CString paramStr = mark.GetData();
m_proxy->OnInvokeCommand(paramStr);
MessageBox(paramStr);
}
}

No comments:

Post a Comment