写了一个播放器,程序里使用了ShockwaveFlash控件,在本地机上调试一切通过无问题(delphi7 winxp),而放到另外一台机上(winxp),程序启动时弹出对话框,说什么“所需的数据还不可用”,无法启动,这是为什么???(这台机子IE可以正常播放FLASH)。

解决方案 »

  1.   

    老大,就是大家都在用的那个啊,class名叫ShockwaveFlash,文件名是Flash.ocx
      

  2.   

    呵呵,,ocx文件必须随程序附带,不然,,呵呵,,,你就等瞧吧,,,还要看看你的ocx是不是每个windows都自带的,,如果不是,,哈哈,
    copy to other computers记住,,,,,,,,,,,,,,,,,,,,,任我行大八声,
    哈哈哈哈哈哈哈哈
      

  3.   

    应该是没有OCX控件,这个控件一般在Windows的系统目录下的Macromed\Flash里,叫flash.ocx或是swflash.ocx。
    你可以把这个控件作为资源加到你的EXE里去,需要时把它解出来,注册。
    具体方法可参见下面这篇文章:
    Displaying Macromedia Flash .SWF files in your Delphi Application!
    http://www.delphipages.com/news/detaildocs.cfm?ID=38
      

  4.   

    虽然大家都 在用,但是并不是每个人都会使用这个OCX的呀?
      

  5.   

    使用资源将Flash.ocx做到exe文件中。
    程序运行前先判断用户是否安装Flash插件,如果没有,就将Flash.ocx提取出来,并使用 regsvr32 flash.ocx /s 来注册就可以了。
      

  6.   

    sysu(死树) :
    老大,E文好难哦
      

  7.   

    打包的时候把你的机子上的ocx打上去,也可能版本的问题
      

  8.   

    咳,问题搞定了。其实是程序本身有个BUG,不关控件的事,咳、咳~~~真是不好意思啊^^,来者都有分。
    还有sysu(死树) ,那篇E文读得差不多了,学到不少。你果然是高手啊,以后还请多多指教。老规矩,挂一晚,明天结帐