zoukankan      html  css  js  c++  java
  • VC,VB,C#与flash8结合开发中callfunction的运用

    不久前我写了一篇关于flash与微软产品互动开发的随笔,受到很多网页的关注,但参与讨论的人很少,(当时文章的地址:请各位高手讨论一下flash.ocx(8.0版本的)与.net结合的编程) 当时我遗留了一个问题,就是flash8.ocx中对象的callfunction怎样运用,现在我在这里简单补偿一下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);

    从以上可以看出,在flash8.0新多版本里flash对外部程序调用其actionscript脚本函数时,已经支持,并且是用Xml传递参数了,这样给很多程序员带来极大多方便和开发灵感
    作为抛砖引玉,留一个问题供大家考虑,就是如果要传递一个数据集,比如说一个SQL查询后的表格,flash端可以怎样写,VB或VC++端怎样写(xml),不要用一条记录一条记录的传,有兴趣的朋友可以回复。

  • 相关阅读:
    shell脚本简单调试
    计算机揭秘之:网络分类和性能分析
    centos 7 虚拟机忘记密码
    算法时间复杂度计算
    strace命令 linux下调试神器
    Linux下core dump (段错误)
    dmesg + addr2line查看堆栈错误位置
    镜像 开源网站
    C语言---链表(包括学习过程中的思想活动)
    The C compiler "/usr/bin/cc" is not able to compile a simple test program. 解决方法
  • 原文地址:https://www.cnblogs.com/same/p/373007.html
Copyright © 2011-2022 走看看