编译任何移动设备时都不推荐使用TList

Bob*_*ob 2 delphi android deprecated ios delphi-10.2-tokyo

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

TWJInformationList = class(TList)
Run Code Online (Sandbox Code Playgroud)

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

[DCC警告] WJInformation.pas(248):W1000符号'TList'已弃用

以上编译适用于所有其他目标平台(32位和64位Windows和OSX).

我错过了什么?

Rem*_*eau 6

在所有基于ARC的平台上,包括Android,iOS Linux 1(不是移动平台),旧Pointer的容器(如设备中的容器Classes.TList和容器)已System.Contnrs被弃用,因为它们不适合与ARC一起使用基于对象/接口指针.您需要在System.Generics.Collections单元中使用较新的基于Generics的对应物TList<T>,因此编译器可以正确管理ARC.如果您不需要/需要ARC处理,TList可以直接替换TList<Pointer>.

1:未来可能还有 Windows.