2012-01-05 147 views
7

隐形Firemonkey控制我运行Win7的X64在VirtualBox临启用了2D和3D加速,但大多数控件(TButton的,TStringGrid,TTabControl等)都在里面德尔福看不见。如果我运行可执行文件,所有的控件都可以正常显示。如何使控件在Delphi中可见?德尔福XE2:在VirtualBox中

这是一个新安装德尔福XE2 W /更新3

为了说明这个问题,我发2个截图:

里面德尔福IDE

enter image description here

可执行

enter image description here

编辑: 版本的VirtualBox 4.1.8是r75467

+2

这看起来像一个bug。提交QC报告。 – 2012-01-05 09:46:21

+0

为什么你没有在问题中插入图片? – RBA 2012-01-05 09:57:06

+1

@RBA低代表用户不允许包含图像内联。我在编辑它们。 – 2012-01-05 10:12:08

回答

3

的问题是,Firemonkey(在Windows)使用DirectX绘制它的控制。
(在OSX/iOS下使用OpenGL)
在版本3之前在VirtualBox中不支持DirectX,因此您没有看到Firemonkey控件。

然而,好消息是,VirtualBox的3.0(及以上)不支持DirectX,请参阅:http://www.dedoimedo.com/computers/virtualbox-3-directx.html
这并不需要你安装DirectX驱动程序在你的VirtualBox,请参阅文章。

+0

我安装Direct3D的支持和DirectX像描述,我甚至得到了虚幻竞技场运行。但是,Delphi仍然拒绝呈现IDE中的控件。 – Gloegg 2012-01-05 16:03:08

+1

FireMonkey在设计时不使用Direct3D(或任何类型的DirectX)......它使用GDI +。当运行时DirectX在虚拟机中工作时,您也忽略了这一点,但是在设计时并没有这样做。这表明一个可能的错误。 – LaKraven 2012-01-06 02:11:08

1

安装从安全模式客户添置(记住当提示时选择DirectX支持)。确保你正在运行一个相对较新的(4或更新)版本的VirtualBox。

安装全部 Windows更新(因为这些更新很可能解决了Windows 7的某些与VM相关的问题)。

这是我所做的一切,和FireMonkey完美的作品对我来说无论是在设计时和运行时!

如果你做了所有这些,但仍然在设计阶段隐藏控件......我强烈建议重新安装Delphi,因为我知道其他人有同样的问题,并且重新安装已经为他们解决了问题。

+0

不得不重新安装Delphi是我想通过转移到虚拟机来克服的。那么,因为没有其他工作,我会这样做。 – Gloegg 2012-01-06 16:05:54

+0

但是,美丽之处在于,一旦重新安装,您就不必重新安装它! – LaKraven 2012-01-06 19:45:24