Delphi XE2: Invisible Firemonkey controls in VirtualBox

I am running a Win7 x64 Pro inside VirtualBox with 2d and 3d acceleration enabled, but most Controls (TButton, TStringGrid, TTabControl, etc.) are invisible inside Delphi. If I run the executable, all controls are rendered fine. How can I make the Controls visible inside Delphi?

It's a freshly installed Delphi XE2 w/ Update 3

To illustrate the problem I made 2 screenshots:

Inside Delphi IDE

Executable

Edit: VirtualBox version is 4.1.8 r75467


The problem is that Firemonkey (under Windows) uses DirectX to draw its controls.
(Under OSX/iOS it uses OpenGL)
Prior to Version 3 DirectX is not supported in VirtualBox, for that reason you are not seeing the Firemonkey controls.

However the good news is that VirtualBox 3.0 (and up) does support DirectX , see: http://www.dedoimedo.com/computers/virtualbox-3-directx.html
This does require that you install DirectX drivers in your VirtualBox, see the article.


Install Guest Additions from Safe-Mode (remembering to select DirectX support when prompted). Make sure you are running a relatively-recent (4 or newer) version of VirtualBox.

Install all Windows Updates (as it's very possible one of these updates addresses certain VM-related issues for Windows 7).

This is all I have done, and FireMonkey works perfectly for me both at design-time and run-time!

If you do all this and still the controls are invisible at design-time... I strongly suggest reinstalling Delphi as I know others whom have had the same issue, and a reinstall has resolved it for them.

链接地址: http://www.djcxy.com/p/57106.html

上一篇: 调换一个1维数组,不代表正方形

下一篇: Delphi XE2:VirtualBox中的不可见Firemonkey控件