Delphi XE2: Невидимые элементы управления Firemonkey в VirtualBox - PullRequest
7 голосов
/ 05 января 2012

Я использую Win7 x64 Pro внутри VirtualBox с включенным ускорением 2d и 3d, но большинство элементов управления (TButton, TStringGrid, TTabControl и т. Д.) Невидимы внутри Delphi.Если я запускаю исполняемый файл, все элементы управления отображаются нормально.Как сделать элементы управления видимыми внутри Delphi?

Это недавно установленный Delphi XE2 с обновлением 3

Чтобы проиллюстрировать проблему, я сделал 2 снимка экрана:

Внутри Delphi IDE

enter image description here

Исполняемый файл

enter image description here

Редактировать: версия VirtualBox - 4.1.8 r75467

Ответы [ 2 ]

3 голосов
/ 05 января 2012

Проблема в том, что Firemonkey (под Windows) использует DirectX для отрисовки своих элементов управления.
(Под OSX / iOS он использует OpenGL)
До версии 3 DirectX не поддерживается в VirtualBoxпо этой причине вы не видите элементы управления Firemonkey.

Однако хорошая новость заключается в том, что VirtualBox 3.0 (и выше) поддерживает DirectX , см. http://www.dedoimedo.com/computers/virtualbox-3-directx.html
Для этого необходимо установить драйверы DirectX в VirtualBox, см.статья.

1 голос
/ 06 января 2012

Установка гостевых дополнений из безопасного режима (не забудьте выбрать поддержку DirectX при появлении запроса). Убедитесь, что вы используете относительно новую (4 или более новую) версию VirtualBox.

Установка все Обновления Windows (поскольку вполне возможно, что одно из этих обновлений решает определенные проблемы, связанные с ВМ для Windows 7).

Это все, что я сделал, и FireMonkey отлично работает для меня как во время разработки, так и во время выполнения!

Если вы делаете все это, и все еще элементы управления невидимы во время разработки ... Я настоятельно рекомендую переустановить Delphi, поскольку я знаю других, у которых была такая же проблема, и переустановка решила их для них.

...