VB 和Flex交互总结(IE&&非IE浏览器)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
'path2 = My.Computer.FileSystem.CurrentDirectory
ASF1.Movie = "E:\Workspaces\FlexVBFlash\bin-release\FlexVBFlash.swf"
ASF1.Menu = True
ASF1.Playing() = True 'GotoFrame(1)
End Sub
''axshockwaveflashobjects 控件 的一个函数CallFunction() 传递的是xml类型的字符串,最终还是字符串
ASF1.CallFunction(EncodeInvoke("getflashtitle", flashtitle))
''ASF1 是axshockwaveflashobjects 控件的名称
// <summary>
// VB向Flash通信的函数
// </summary>
// <param name="Fname">Flash中定义的函数名</param>
// <param name="arg">通信数据</param>
// <returns></returns>
// <remarks></remarks>
Public Function EncodeInvoke(ByVal Fname As String, ByVal arg As String) As String
Dim sb As StringBuilder = New StringBuilder
Dim xw As XmlTextWriter = New XmlTextWriter(New StringWriter(sb))
xw.WriteStartElement("invoke")
xw.WriteAttributeString("name", Fname)
xw.WriteAttributeString("returntype", "xml")
xw.WriteStartElement("arguments")
xw.WriteStartElement("string") //'此处直接创建string类型,没做别的类型判断
xw.WriteString(arg)
xw.WriteEndElement()
xw.WriteEndElement()
xw.WriteEndElement()
xw.Flush()
xw.Close()
Return sb.ToString()
End Function
参考我的另一篇文章 : JavaScript (js) 和Flex交互总结(IE&&非IE浏览器)