你的机器上已经装好Flash的插件了吗?

解决方案 »

  1.   

    在delphi中的Component|Import ActiveX Contrals...中选中 "Shockwave Flash(Version 1.0)",并单击Install,会出现一个install窗口。 ---- 如果要把它添加到一个已经存在的包中,在"into existing package"对话框中的"File name:"窗口中选择你想安装的路径,并单击"OK";会弹出一个确认的对话框,它问你"Package dclusr50.bpl will be rebuilt. Continue?",单击"Yes";在弹出的窗口中单击击"install",该插件就安装完毕。 ---- 如果要把它添加到一个新建的包中,在"into new package"对话框中的 "File name:"窗口中选择你想安装的路径,并新建一个包,假如命名为test,并单击"OK";它问你"Package test.bpl will be built. Continue?",单击"Yes"。 在弹出的窗口中单击击"install",该插件就安装完毕。 ---- 这时,你会在控件条的ActiveX下发现一个新的控件,名字为ShokewaveFlash, 单击它把它放在form中,在该form中放一个OpenDialog控件和一个panel,在该panel上放四个button,他们的caption属性分别命名为"Openfile","Play","Stop","Close".设置panel1,ShockwaveFlash的Align 属性分别为Alleft 和AlClient; 分别在这四个Button的OnClick事件中写下如下代码:     procedure TForm1.Button1Click(Sender: TObject);
          begin
             if OpenDialog1.Execute then
                 ShockwaveFlash1.Movie:= 
    OpenDialog1.FileName;
          end;   procedure TForm1.Button2Click(Sender: TObject);
         begin
           ShockwaveFlash1.Play;
         end;
       
       procedure TForm1.Button3Click(Sender: TObject);
         begin
           ShockwaveFlash1.StopPlay;
         end;   procedure TForm1.Button4Click(Sender: TObject);
         begin
           ShockwaveFlash1.FreeOnRelease;
           close;
         end;
    ---- 你可以得到打开的flash图像的总帧数,在panel1上添加一个label,在form1的OnClick事件中写下如下代码 procedure TForm1.FormCreate(Sender: TObject);
      begin
        label1.caption:=shockwaveflash.totalframes;
      end;你还可以控制该打开的flash图像从那一帧开始播放,
      在panel1上添加一个button和一个Edit控件,在该button的OnClick事件中添加如下代码。
    if ShockwaveFlash1.playing then
      ShockwaveFlash1.GotoFrame(SpinEdit1.Value);
      ShockwaveFlash1.Play;
      

  2.   

    还是不行,给movie 指定一个无效的文件,它也不报错,为什么?  文件正确,但framenum 总是 -1?
    先给10分,谢谢!
      

  3.   

    1、在程序发布时,应该如何操作?是否对方的计算机上一定要装好Flash的插件?
    2、我的播放一个动画文件在当前目录(如D:\sw),于是ShockwaveFlash1.Movie:= 
    'd:\sw\f.swf'就可以但设置为'f.swf‘就不行,为什么?要是不行就有很多问题了。
      

  4.   

    关于2:你可以取得当前应用程序的路径ShockwaveFlash1.Movie:= ExtractFilePath(ParamStr(0))+'f.swf';