gpt4 book ai didi

android - 为任何移动设备编译时不推荐使用 TList

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:10:47 28 4
gpt4 key购买 nike

我有一个包含以下声明的 Delphi 移动应用程序:

TWJInformationList = class(TList)

当我为任何移动设备(Android、iOS 设备 32 位、iOS 设备 64 位和 iOS 模拟器)编译此应用程序时,我收到以下警告:

[DCC Warning] WJInformation.pas(248): W1000 Symbol 'TList' is deprecated

上面的代码在所有其他目标平台(32 位和 64 位 Windows 和 OSX)上都可以正常编译。

我错过了什么?

最佳答案

在所有基于 ARC 的平台上,包括 Android、iOS、 Linux 1(不是移动平台),旧的 Pointer基于容器,如 Classes.TListSystem.Contnrs 中的容器单元,已被弃用,因为它们与基于 ARC 的对象/接口(interface)指针一起使用是不安全的。您需要在 System.Generics.Collections 中使用较新的基于泛型的对应项单位,如TList<T> ,因此编译器可以正确管理 ARC。直接替代 TList将是 TList<Pointer>如果您不想/不需要 ARC 处理。

1:和 maybe Windows future 。

关于android - 为任何移动设备编译时不推荐使用 TList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50703963/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com