为什么我不能在Lazarus中使用Generics.Collections
或Generics.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使用的泛型。
答案 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.Default
和System.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包。