我在bcb6.0中,用windows media play 这个Active 控件,编译后的程序在wind2000以上环境运行正常,但是在win98 或者是 win2000 以上但是卸载了 windows media play 的情况下 ,出现 组件没有注册,无法进入程序,请问这个控件应该怎么注册?回答正确可以酌情另外加100分。我在论坛找了好久没有找到相关帖子
楼上的我试过了不行,我的机子装的是双系统,一个是win98 一个是win2000 ,从win98启动,我试过了,不行,显示 Abnormal program termination 就退出了,解决方法是在win98中安装 windows media player 9.0,就一切正常了
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版本。
我发现我现在的问题已经不是注册的问题了,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的好的控件和稳定的代码吗?
regsvr32 wmp.dll
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版本。
做开发的时候,尤其是vb等,经常需要向系统中注册ocx,那么如何向系统中注册一个我需要使用的ocx呢?
建议这样做:
1、首先将需要注册的ocx复制到系统的system32目录下。
2、在命令行窗口进入system32目录下,然后执行命令:
regsvr32 *.ocx
比如需要注册报表设计器的2个ocx,执行命令如下:
regsvr32 DesignerGrid.ocx
regsvr32 Report.ocx
一:
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的好的控件和稳定的代码吗?