我知道从flash中用fscommand("exit");然后在dephi中的flash控件通过它的fscommand事件获取这个命令,也就是if (command='exit') then close;
但是我想把flash中输入框中的字符串发送到delphi中去,该怎么做呢?

解决方案 »

  1.   

    这是一篇文章的其中一段:
      2.利用flash控件的Setvariable或Getvariable方法来读或写flash动态文本框中的内容。
        
       例: 新建一个flash文件,在flash主场景中添加一动态文本框,将其variavle设为Text1.
            新建一Delphi工程,在Form中添加flash控件,设置好其movie属性,再添加二个Button控件,双
            击Button1,添入以下代码:
          procedure TForm1.Button1Click(Sender: TObject);
              begin
                 shockwaveflash1.SetVariable(’Text’,’信息已经到达!’);
              end;
           双击Button2,添入以下代码:
          procedure TForm1.Button2Click(Sender: TObject);
              begin
                 showmessage(shockwaveflash1.GetVariable(’Text’));
              end;
      

  2.   

    第一步(flash中Button添加script):
    on (release) {
      var userCode = editCode.text
      var userName = editName.text;
      fscommand("btSubmit", userCode+","+userName); //这样传入args
    }第二步(Delphi中TShockwaveFlash.FSCommand事件)
    procedure TForm1.Flash1FSCommand(ASender: TObject; const command,
      args: WideString);
      function splitFSCmdArgs(args:wideString;var usrCode,usrName:string):boolean;
      var i:integer;str:wideString;
      begin
        try
          result:=true;
          str:=args;
          usrCode := '';  usrName := '';      i:=Pos(',',str);
          if i<=0 then exit;
          usrCode := copy(str,1,i-1);
          Delete(str,1,i);      usrName := str; 
        except
          result:=false;
        end;
      end;
    var deptID,usrCode,psw,s:string  ;
    begin
      if Command='btSubmit' then begin
        splitFSCmdArgs(args,usrCode,usrName);  //分割编号和名称
        showMessage('人员编号:'+usrCode+#13#10+
                    '人员名称:'+usrName) ;;
      end;
    end;