VC和Flash通信编程

来源:互联网 发布:fm2017巨星数据库 编辑:程序博客网 时间:2024/06/07 23:14

个人认为该文章对flashmfc直接的通信的介绍说明的比较详细 特别是flash运用FSCommand(command,args);发送数据和mfc端运用void CPlayFlashDlg::OnFSCommandShockwaveflash1(LPCTSTR command, LPCTSTR args) 进行消息响应的的操作过程说明的非常详细值得收藏。

在这里我想对它mfcflash通信的过程做一个补充。

对于一个从c语言入手的程序员来说在初学CShockwaveFlash时经常对mfcflash通信会产生疑问,不知道在flash中该怎么写代码,而通过百度或者谷歌搜索出来的结果很难令人满意,我也因为这个迷惑了很长的时间。

其实应该说用CShockwaveFlash进行vcflash通信实在是太简单了,以至于高手们都不屑写。

CString GetVariable(LPCTSTR name)void SetVariable(LPCTSTR name, LPCTSTR value)这两个函数是通信的关键,你要是英文比较好应该会很快知道Variable是变量的意思。知道了这些问题应该会变的很简单,flash中只需要定义一个变量比如说var y。你就可以通过GetVariable(“y”);来获取yflash中的值,用SetVariable("y", "abc");来把flashy的值设置成abc;(注:必须用字符串"y",否则如果用GetVariableymfc会提示没有定义y是个什么东西,还有就是flash端写的时候也要小心很容易就让系统会再次定义一个新的变量,具体的可以参考flash的手册),当然你也可以用SetVariable("_root.car._x", "123"); 来设置你car实例的x坐标,很简单把,要不你也来试试。

特别说明下,MFC在调用ACTIVEX控件自动在BOOL ***App::InitInstance()调用了函数AfxEnableControlContainer();如果你用其他的工程形式如LIBUIDK就要自行在相应位置加入AfxEnableControlContainer();不然会有非法读写的错误。