Lazarus 找不到 Uses Generics

Lazarus cannot find Uses Generics

为什么我不能在 Lazarus 中使用 Generics.CollectionsGenerics.Default 甚至 Generics

Uses
  Generics.Collections;

Uses
  System.Generics.Default;

Uses
  System.Generics.Collections;

Uses
  System.Generics.Default,
  System.Generics.Collections;

Uses
  SysUtils,
  Generics;    

Cannot find Generics.Collections used by uTest of the Project Inspector.
Cannot find Generics.Defaults used by uTest of the Project Inspector.
Cannot find Generics used by uTest of the Project Inspector.

Lazarus is the IDE for the open-source FreePascal 编译器。他们都没有任何与Delphi有关。 FreePascal 是一个完全独立于 Delphi 使用的 Pascal 编译器。

FreePascal 具有 Delphi 兼容模式,并实现了各种 Delphi 单元和 类,以帮助用户将现有 Delphi 代码移植到 FreePascal。

但就泛型而言,FreePascal 提供了自己的泛型语法和实现,与 Delphi 的泛型不同且不兼容(实际上,支持 Delphi-在 FreePascal 2.6, but "still may be not 100% compatible" with Delphi. Also see delphi language features which fpc does not have - Generics Syntax).

中添加了样式泛型

阅读 FreePascal 的文档以了解有关泛型风格的更多详细信息:

http://wiki.freepascal.org/Generics

http://www.freepascal.org/docs-html/ref/refch8.html

System.Generics.DefaultSystem.Generics.Collections 单位仅在 Delphi 中可用,它们在 FreePascal 中不存在。但是,有 3rd party implementation 这些单元可用于 FreePascal。

Generics.Collections 库(带有 Generics.Defaults 模块)已作为 r34229 中的 rtl-generics 包添加到 FPC 主干。用于 Win32 的预编译 FPC trunk(带 Generics.Collections)的最新版本 + Lazarus trunk 可在 http://newpascal.org . The repository of Generics.Collections ( https://github.com/dathox/generics.collections 获得)仍将用于维护(应经常与 FPC trunk 同步)。

我建议您使用 Maciej Izak 制作的 Generics.Collections 软件包。