我在bcb6.0中,用windows media play 这个Active 控件,编译后的程序在wind2000以上环境运行正常,但是在win98 或者是 win2000 以上但是卸载了 windows media play 的情况下  ,出现 组件没有注册,无法进入程序,请问这个控件应该怎么注册?回答正确可以酌情另外加100分。我在论坛找了好久没有找到相关帖子

解决方案 »

  1.   

    试下这样:
    regsvr32 wmp.dll
      

  2.   

    楼上的我试过了不行,我的机子装的是双系统,一个是win98 一个是win2000 ,从win98启动,我试过了,不行,显示 Abnormal program termination 就退出了,解决方法是在win98中安装 windows media player 9.0,就一切正常了
      

  3.   

    procedure RegisterDll(DllName :string);
    var
      h:HModule;
      Ocx:TDllRegisterServer;
    begin
      h := 0;
      try
        h := LoadLibrary(PChar(DllName));
        @Ocx:=GetProcAddress(H,'DllRegisterServer');
        if @ocx <> NIL then
          Ocx;
      except
        on E:Exception do
      end;
      FreeLibrary(H);
    end;请修改为BCB版本。
      

  4.   

    重新安装media play或者用
    做开发的时候,尤其是vb等,经常需要向系统中注册ocx,那么如何向系统中注册一个我需要使用的ocx呢? 
    建议这样做: 
    1、首先将需要注册的ocx复制到系统的system32目录下。 
    2、在命令行窗口进入system32目录下,然后执行命令: 
    regsvr32 *.ocx 
    比如需要注册报表设计器的2个ocx,执行命令如下: 
    regsvr32 DesignerGrid.ocx 
    regsvr32 Report.ocx
      

  5.   

    我发现我现在的问题已经不是注册的问题了,regsvr32 的方法我会,采用 动态调用DLL文件函数我也试过了。我把我测试的经过向大家说一下。我编程的环境是:win2000+bcb6+wmp9.0 编译后的程序,我在3个最初始化的windows系统中测试:
    一:
    win98 默认的 windows media play 版本是:6.4 
    运行我的程序后 无法进入程序。
    我运行 regsvr32 wmp.dll
           regsvr32 wmp.ocx
    一样出错,无法进入程序。
    (这两个命令和动态调用注册的方法应该是一样的吧.)
    2.win2000 默认的 windows media play 版本是:6.4
    与在windows 98测试基本相同.3。
    winxp 默认的 windows media play 版本是:8.0
    可以运行程序,但是显示的控件是丑陋的8.0的界面,而且隐藏的wmp控件自动出现了。我把9.0的wmp.dll和wmp.ocx复制到c:\
    我运行 regsvr32 c:\wmp.dll
           regsvr32 c:\wmp.ocx
    注册成功。
    但是运行程序 出现错误:"未指定错误"以上3种操作系统一旦安装了 windows media play 9。0,程序运行就一切ok了。难道我的程序必须要用户安装windows media play 9。0吗?
    我用
    regsvr32 wmp.dll
    regsvr32 wmp.ocx
    注册是正确的吗有其它好的解决方法吗?我之所以用windows media play 9。0是因为我曾经使用bcb自带的system中的组件TmediaPlay 播放mp3的稳定性不好,例如:100个人中大概有3个人在播放声音方面出现问题。总之我是不愿意要每个用户安装windows media play 9。0,还有其它播放mp3的好的控件和稳定的代码吗?
      

  6.   

    怎么解决 windows media play  控件注册的问题啊 我顶