Delphi Lazarus找不到Uses Generics

时间:2016-07-09 01:25:23

标签: delphi generics lazarus tobjectlist

为什么我不能在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;    
  

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

3 个答案:

答案 0 :(得分:9)

Lazarus是开源FreePascal编译器的IDE。他们俩都没有 ANYTHING 来处理Delphi。 FreePascal是一个完全独立的Pascal编译器,而不是Delphi使用的编译器。

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

但就Generics而言,FreePascal提供了自己的Generics语法和实现,它与Delphi的Generics不同,并且不兼容(实际上,在FreePascal 2.6中添加了对Delphi风格的Generics的支持,但是“仍然可能与Delphi不兼容”。另见delphi language features which fpc does not have - Generics Syntax)。

阅读FreePascal的文档,了解有关Generics风格的更多详细信息:

http://wiki.freepascal.org/Generics

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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