我有一台 Lenovo Tab M10,用于使用 Delphi 10.4 进行开发。几天前,一位使用同一台平板电脑的客户打电话告知,应用程序在更新到 Android 12 后“直接退出”,没有任何消息。我的平板电脑也升级了,所以我遇到了同样的行为。该应用程序仅捕获一些数据,并在某个时刻激活相机拍摄一些照片。这是麻烦开始的地方。重要的是要关注两个问题:
程序 TfrmMain.camMainSampleBufferReady(Sender: TObject; const ATime: TMediaTime);
开始
camMain.SampleBufferToBitmap(imgBuffer.Bitmap,True)
结束;
这里的imgBuffer只是一个TImage用来显示图片
现在,问题是应用程序显示了一些图像(大约十张),然后确实退出了,或者更确切地说,它生成了一个异常
servicio.exe 引发异常类 6 消息 ''
这个异常似乎无法捕获,因为任何 Try/Except 块都不起作用。
我在屏幕上贴了一个标签来显示有多少,因为正如我所说,我无法调试:程序在 D10.4 下启动但任何断点都被忽略。
程序 TfrmMain.camMainSampleBufferReady(Sender: TObject; const ATime: TMediaTime);
开始
lbl1.text := IntToStr(FCOUNTER);
公司(FCOUNTER);
结束;
我的第一个猜测是 TCameraComponent 中的“某些东西”发生了变化,但后来我发现了两个非常奇怪的行为:
程序 TfrmMain.camMainSampleBufferReady(Sender: TObject; const ATime: TMediaTime);
开始
结束;
错误(异常)仍然出现
如前所述,当相机处于活动状态时,应用程序处于空闲状态。
我想过三种可能的解决方案
对不起,我不能提供更多细节,因为我没有找到任何细节,而且我很困惑。任何想法如何解决这个问题?