分不多了,但求大家帮帮,我试着学做一个播放器,调用windowsmediaplayer9.0中的wmp.dll,机器中装有7.0以上版本的都可以用,如果是98或者2000,默认的是windowsmeidaplayer是6.0,双击软件时,就弹出错误“00058FA1”,不会弹出软件界面,请问这个错误在delphi中怎么获取及处理,系统给的这个错误号,在delphi中怎么获取及处理?我不可能把wmp.dll打包的,这个太大了,有4M多,我的想法是打开软件时,发现这个错误就弹出一个系统框,在框中写明原因,并点击确定后弹出windowsmediaplayer9.0的下载页面。

解决方案 »

  1.   

    这个你是静态掉用的,程序加载的时候自动的需要下载wmp.dll,如果不存在就报错。而且这个错误比较难于俘获。你可以试试在工程文件中写人Try..Except..end
      

  2.   

    如果静态加载不行的话就用动态加载吧Try
      //把装载DLL的代码放在这里
    Except
      //如果发生异常就在这里进行错误处理
      //试试用 GetLastError 看看捕获的错误代码是什么
      //然后分别进行处理
    End;你这里说的是在 98 或者 2000 系统下面没有这个 DLL 吗?如果是这样的话可以先判断装载的DLL句柄是否有效,无效则提示错误就可以了。如果加载DLL成功而找不到你要的函数地址,也可以判断加载的函数地址是否有效,无效则同样报告错误。