Crash when execute c++ builder app
I'm testing your Emteria OS, versoin 0.6.1, deploying a simple application made in C++ Builder. The project is a simple multidevice application with one label.
I deploy the application on the emteria box and I reach an exception EContext3DException that said: Cannot activate shader program for 'TContextAndroid'.
The fact is that I try this same application against anothers android devices and it works fine.
Is there any configuration I miss?
0
Comments
RAD Studio doesn't work well with OpenGL ES 2.0. Several bugs were already reported to Embacadero in the past, so we cannot do anything about it. On other devices it probably works because of OpenGL ES 3.0, which isn't supported by RPi's GPU (AFAIK).
We ran into the same problem with our Delphi application. We managed to 'fix' it by suppressing the errors by modifying FMX.Context.GLES.pas (I'm assuming you have the same cpp-file). In the GLGetErrorFlags function we changed
if Flag <> GL_NO_ERROR then
into
if (Flag <> GL_NO_ERROR) and (Flag <> GL_INVALID_VALUE) then
Works for me. Thanks SanderK.
No cpp file because Embarcadero code all the source in Delphi and use a Delphi to C++ compiler generating an object file that is used to compile C++ programs.
So you need to change the .pas file and then add in your C++ project the modified file to be compiled with your project.