delphi7里我是这么写的
procedure TForm1.FormCreate(Sender: TObject);
begin
  ShockwaveFlash1.Movie:=getcurrentdir+'\w26.swf';
end;procedure TForm1.BitBtn1Click(Sender: TObject);
var x1:string;
begin
 x1:='data/Djms/101.gif';
 Panel7.Visible:=true;
 Panel8.Visible:=false;
 ShockwaveFlash1.Play;
 ShockwaveFlash1.SetVariable('pic',x1);end;在flash8里这个pic变量一直没有值
var pic
loadMovie(pic, "pic");加一个动态文本框把变量起名为pic 这个框里就可以显示 data/Djms/101.gif
可为什么loadMovie(pic, "pic"); 里的pic就不可以用的 得不到值。我用动态文本框把变量起名如果不是pic 如pic1

var pic
_root.pic1=pic;
得到的结果是 _leve10.pic郁闷 请可以帮我解决 奋斗一个晚上了 实在没有办法了 
如果大家嫌弃分少 可以加。 

解决方案 »

  1.   

    解决了 
    说下方法 :)
    delphi是从flash的第二帧开始读的 (我想是)
    把flash里接收参数的地方放在第二帧问题解决
      

  2.   

    我想不是这样的。你设置后,它没有立即应用,而你到下帧时,它已有值了。
    用TCallFrame方法再调用一次帧上代码,它就会立即起作用,这样再试一下:...
    ShockwaveFlash1.SetVariable('pic', x1); 
    ShockwaveFlash1.TCallFrame('_root', 0);
      

  3.   

    这两个换位测试会怎样?
     ShockwaveFlash1.SetVariable('pic',x1); 
    ShockwaveFlash1.Play; 
      

  4.   

    我发的怎么没了……
    ShockwaveFlash1.Play; 
    ShockwaveFlash1.SetVariable('pic',x1); 
    //加上就可以了,不用两帧
    ShockwaveFlash1.TCallFrame('_root', 0);
      

  5.   

    啊……CSDN怎么了,一刷又出来了,汗
    先设定再play不行的,如果只有一帧的话