[AJAA]Asynchronization JavaScript And ActiveX Flash8.ocx与c#交互 思想参考2

来源:互联网 发布:魔方教程软件 编辑:程序博客网 时间:2024/05/23 14:18

flash8.ocx中对象的callfunction怎样运用,注意swf文件要用flash8.0版本制作,flash控件要flash8.ocx版本
VB描述(传多个参数)
VB端
Private Sub Command1_Click()
       Flash1.CallFunction "<invoke name=""show""  returntype=""xml""><arguments><string>hello</string><string>world</string></arguments></invoke>"    '篇幅关系,与上面同行
End Sub
Private Sub Form_Load()
    ShockwaveFlash1.LoadMovie 0, App.Path & "/showstring.swf"
End Sub
flash端
①添加一个文本框text_txt以显示效果
②ActionScript代码为
function show(str1:String,str2:String):Void{
      test_txt.text=str1+" : "+str2;
}
flash.external.ExternalInterface.addCallback("show",this,show);
C++或C#描述(只传一个参数,用)

主程序端:
flash1.LoadMovie(0,Application.StartPath+"
/showstring.swf");
flash1.CallFunction("<invoke name=/"test/" returntype=/"xml/"><arguments><string>Helloworld</string></arguments></invoke>");
flash端:
①添加一个文本框text_txt以显示效果或用trace("call: "+result+"")
②ActionScript代码为,其中result只是参数,而主程序端使用AS的函数时不需要关心参数名,只有知道有参数个数,或参数位置
function test(result:Object):Void{
   test_txt.text=result;
}
flash.external.ExternalInterface.addCallback("test", this, test);