mfc和flash通讯:怎么设置flash组件的值

最近打算把flash用作mfc的界面上,主要是想得到华丽点的效果。重绘技术太繁琐了,没搞明白。


网上找了一点资料,其实已经可以很顺利的实现通讯了。主要是实现过程中碰到了很多问题。特别是怎么给flash的组件的值进行设置和修改。

我主要对list组件进行试验。其他组件没有一一测试。

普通变量用GetVariable和SetVariable没有问题,我想修改list组件的值,结果出问题了。

我用as3.0发现GetVariable和SetVariable会导致运行时抛异常问题,但是as2.0则可以。奇怪?

但是即使是2.0,还存在一个重绘的问题,就是SetVariable后,flash界面并没有把相应的结果绘制出来,不是消息的问题,我直接发字符串可以的。


然后我只能使用函数传参数的方式进行了。

flash中的代码是这样的:

import flash.external.ExternalInterface;
ExternalInterface.addCallback("setListData",setListData);

var dp:DataProvider = new DataProvider();

function setListData(v1:String)
{
	dp.addItem( { label:v1 } );//给list添加一条
}

aList.dataProvider = dp;

aList是list组件的名字。

mfc那边:

m_atxSwf.CallFunction(_T("<invoke name=\"setListData\" returntype=\"xml\">\<arguments><string>怎么样</string></arguments>\</invoke>"));

我对速度进行了测试,我发送50条10字节的字符串,实时。看来应用还是可行的。但是5000条的话,感觉有5秒迟滞。这种情况下mfc也会有迟滞,大概1秒吧。




你可能感兴趣的:(list,function,测试,Flash,mfc,通讯)