使用 Emteria OS 将多设备应用程序部署到 RaspBerry Pi 3 时出现异常
Exception deploying multi-device app to RaspBerry Pi 3 with Emteria OS
出于测试目的,我在 Raspberry Pi 3 上试用了 Emteria OS。Emteria 版本是基于 7.1 android 版本的 0.6.1。
我使用 C++ 构建器创建了一个简单的多设备项目。该表单仅包含一个标签。我尝试将该应用程序部署到我的 RaspBerry Pi 目标 Android 平台并通过以太网使用 ADB。
当应用程序在 RaspBerry Pi 中执行时,我看到了 EContext3DException。我尝试研究为什么我通过网络到达此异常,但找不到有关此异常的有趣信息。
所以我不知道问题出在 OS 还是我错过了某处的配置。
作为 Emteria 的回复,使用 OpenGL 2.0 的 Raspberry GPU 与 RAD Studio 之间存在一些不兼容问题。
在 Raspberry 支持 OpenGL 3.0 之前似乎是同样的问题,因为我认为 embarcadero 不会花时间与 OpenGL 2.0 库兼容。
有一个解决方法。 SanderK 通过 emteria 论坛传达了此解决方法。
您需要在您的 embarcadero 安装目录的源文件夹中找到文件 FMX.Context.GLES.pas 并找到代码行:
if Flag <> GL_NO_ERROR then
将此行替换为:
if (Flag <> GL_NO_ERROR) and (Flag <> GL_INVALID_VALUE) then
之后需要将这个修改后的文件添加到你的项目中,然后编译。
出于测试目的,我在 Raspberry Pi 3 上试用了 Emteria OS。Emteria 版本是基于 7.1 android 版本的 0.6.1。
我使用 C++ 构建器创建了一个简单的多设备项目。该表单仅包含一个标签。我尝试将该应用程序部署到我的 RaspBerry Pi 目标 Android 平台并通过以太网使用 ADB。
当应用程序在 RaspBerry Pi 中执行时,我看到了 EContext3DException。我尝试研究为什么我通过网络到达此异常,但找不到有关此异常的有趣信息。
所以我不知道问题出在 OS 还是我错过了某处的配置。
作为 Emteria 的回复,使用 OpenGL 2.0 的 Raspberry GPU 与 RAD Studio 之间存在一些不兼容问题。
在 Raspberry 支持 OpenGL 3.0 之前似乎是同样的问题,因为我认为 embarcadero 不会花时间与 OpenGL 2.0 库兼容。
有一个解决方法。 SanderK 通过 emteria 论坛传达了此解决方法。
您需要在您的 embarcadero 安装目录的源文件夹中找到文件 FMX.Context.GLES.pas 并找到代码行:
if Flag <> GL_NO_ERROR then
将此行替换为:
if (Flag <> GL_NO_ERROR) and (Flag <> GL_INVALID_VALUE) then
之后需要将这个修改后的文件添加到你的项目中,然后编译。