0

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

Uses
  Generics.Collections;

Uses
  System.Generics.Default;

Uses
  System.Generics.Collections;

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

Uses
  SysUtils,
  Generics;    

找不到项目检查器的 uTest 使用的 Generics.Collections。
找不到项目检查器的 uTest 使用的 Generics.Defaults。
找不到项目检查器的 uTest 使用的泛型。

4

3 回答 3

11

Lazarus是开源FreePascal编译器的 IDE。他们都与德尔福没有任何关系。FreePascal 是一个与 Delphi 使用的完全不同的 Pascal 编译器。

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

但就泛型而言,FreePascal 提供了自己的泛型语法和实现,与 Delphi 的泛型不同,也不兼容(实际上,对 Delphi 风格的泛型的支持是在FreePascal 2.6中添加的,但“仍然可能不是 100 %与 Delphi 兼容。另请参阅fpc 没有的 delphi 语言功能 - 泛型语法)。

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

http://wiki.freepascal.org/Generics

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

和单位仅在 Delphi 中可用,在 FreePascal 中不存在System.Generics.DefaultSystem.Generics.Collections但是,这些单元的第 3 方实现可用于 FreePascal。

于 2016-07-09T02:05:50.343 回答
4

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

于 2016-08-05T09:18:02.120 回答
0

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

于 2018-01-09T14:21:01.390 回答