我正在使用 RAD Studio XE-5 创建 Android 应用程序,但最近偶然发现了一个令人费解的错误。TStringList.AddObject 引发以下异常:
Project Project3.apk raised exception class Segmentation fault (11).
我的代码是这个
procedure TMainForm.FormCreate(Sender: TObject);
var
list: TStrings;
begin
list := TStringList.Create;
list.AddObject('Joe', TObject(1)); // This is where exception is raised
list.AddObject('Hans', TObject(2));
end;
此代码在 32 位 Windows 目标上运行良好,但在我的 Nexus 7 上运行(在调试模式下)时引发上述异常(当我不使用 TStringList.AddObject 时运行良好)。如果我在没有调试的情况下运行应用程序,它只会在我的 Nexus 上关闭。
这是 Delphi Android 的已知问题/限制吗?是否有解决方法或推荐的方法来实现相同的结果(不仅适用于这个玩具示例,而且一般使用 AddObject)?