delphi与flash通信交互的文本简单实现

     delphi与flash交互通信的优点在于:开发delphi应用程序时充分发挥flash表现力强的特点,只要运用得当,flash开发的色彩斑斓的界面就会出现在delphi应用程序当中,且无需delphi程序员去堆放大量浪费资源的控件。
delphi与flash交互具体存在两个问题:

1、如何能让delphi应用程序接收到flash发来的消息,并处理;

2、怎样能从delphi应用程序向flash传递命令,控制.swf文件的运行。以下逐一解决
  注:我使用的时delphi 7+flash 8, 控件使用原生的TShockwaveFlash(此控件的安装,请参见其它资料),
  一、flash向delphi发送消息:
      flash向delphi发送消息其实很简单,只需要运用flash中自带的fscommand命令即可,此命令在作者能见到的各版flash中都存在,
   尽管后期版本从安全角度考虑不提倡使用它,但在这里此命令我们仍可以大加利用。
   例如(在qqp_528flash.swf中):
   //flash中的代码
   on (click){
     fscommand("qqp_528","flash向delphi程序发消息了");
   }
   ------------------
   OK,以上代表flash中某一元件的单击事件会触发fscommand命令了,其中参数“qqp_528”是命令,后面的就是命令的值。
   以下为在delphi中使用的接收代码:
procedure TFrmMain.Flash1FSCommand(Sender: TObject; const command,
  args: WideString);
begin
  If Command='qqp_528' Then
  Begin
    ShowMessage(args);
  End;
end;
  简单吧,在TShockwaveFlash控件中已经存在了专门接收命令的事件了"OnFSCommand",其它的就很清楚了。
  二、delphi向flash传递指令:
    delphi方面,执行代码如下:
    Flash1.SetVariable('qqp_528toflash','这是delphi向flash传的');
    从这一句代码可见,被执行的flash中必需存在变量名为"qqp_528toflash"的元件,应为文本元件(必须),后面是传递的内容。执行后会在flash中名为qqp_528toflash的文本元件中显示传入的“这是delphi向flash传的”这段内容。

另外注意,以上只是代码的片段,在执行以上代码之前千万别忘了在delphi应用程序中播放flash呀,

播放代码为:

  Flash1.LoadMovie(0,'qqp_528flash.swf');
  Flash1.Play;
   
 在此得特别感谢“西沉空间*永远的红茶“等大批前辈的帖子,谢谢。
   

  
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值