问题描述
privatevoidbtn_Start_Click(objectsender,EventArgse){string[]ids=newstring[]{"VY0hHhftcKbmGizVfsTJF%2BH9k3bAVJSDJbSgfr,"VWQu3zfDpILOW6RfIcL6S%2B7rERYZ"};foreach(variteminids){axShockwaveFlash1.CallFunction(EncodeInvoke("getXml",item));}}//接收flash发送过来的信息privatevoidaxShockwaveFlash1_FlashCall(objectsender,AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvente){XmlDocumentxd=newXmlDocument();xd.LoadXml(e.request);XmlNodeListxl=xd.GetElementsByTagName("arguments");stringxml=string.Empty;for(inti=0;i<xl.Count;i++){xml+=xl[i].FirstChild.InnerText;}MessageBox.Show(xml);}
想请教一下大神,c#winform中,为什么我使用CallFunction循环调用flah里边的方法只出来一次结果?(注:flash里边有请求网络,异步返回)
解决方案
本帖最后由 zhy4567890 于 2014-09-09 23:50:32 编辑
解决方案二:
这样吧,断点看看,循环时候,FLASH组件调用的参数是否正确。如果确定调用是无误的,可以试下,不用循环,用顺序执行的方式。我怀疑是不是播放是不是要在某些状态才能工作,例如你正在播放一个流了,循环再加载资源或者网络路径结果是不执行工作返回的。
解决方案三:
这个flash只是作为一个接口方式,我必须循环的传不同参数进去,获得结果。不知道原因是在flash还是c#代码