Google Music Player Beta v1.0

这个是针对Google最新推出的Music Beta集成的,效果还可以。

下面是登录界面的样子:

猛击此处下载该程序!

另外在处理TwebBrowser的时候出现了一个什么Invalid floating point operation.的错误,后来找了一下解决方法,在FormCreate事件中加入如下代码就可以了:

Set8087CW(Longword($133f));

具体原理如下:

在Delphi2011中需要通过浮点单位控制指令设置浮点运算单位。浮点单位控制指令控制着浮点运算的精度、四舍五入的方式以及特定的浮点运算是否触发异常。可以参阅Intel处理器的详细文档。
在Delphi2011中有函数可以直接访问处理器的控制指令。比如,可以使用Set8087CW函数改变8087CW控制指令的值,从而改变程序浮点计算的行为。编程人员需要自己负责在程序结束时重置这个指令。

解决办法,就是直接禁用浮点异常,方法如下:
在在Delphi2011中,当使用OpenGL进行3D渲染时,推荐使用Set8087CW函数禁用浮点异常。可以在调用OpenGL函数之前,比如在mainForm的OnCreate的过程中写入:

Set8087CW(0x133f)

实例代码:
1.声明全局的变量保存原有的8087CW设置

var
Saved8087CW: Word;

2.在mainForm的OnCreate过程中改变8087CW的值,改变之前先保存默认值

Saved8087CW := Default8087CW;
Set8087CW($133f); { Disable all fpu exceptions }

3.在程序结束前,使用默认值重置8087CW指令值。在mainForm的OnClose过程中
Set8087CW(Saved8087CW);
4.还有一点需要注意,如果在程序中使用了SceneControl.LoadSxFile载入了3D文档,那么必须在程序退出时,在Set8087CW之前调用IScene的ClearLayers方法清除图层,否则程序在退出时会出现异常。
参考代码为:

SceneControl1.Scene.ClearLayers;
Set8087CW(Saved8087CW);

5.还有在程序退出之前需要调用如下语句

(CoAoInitialize.Create as IAoInitialize).Shutdown

原始链接:http://blog.csdn.net/shuaihj/archive/2011/05/09/6406781.aspx

 

 

☆版权☆

* 网站名称:obaby@mars
* 网址:https://lang.ma/
* 个性:https://oba.by/
* 本文标题: 《Google Music Player Beta v1.0》
* 本文链接:https://baby.lc/2011/06/2907
* 短链接:https://oba.by/?p=2907
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注