【问题标题】:Lazarus cannot find Uses GenericsLazarus 找不到使用泛型
【发布时间】:2016-11-11 15:43:45
【问题描述】:

为什么我不能在 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 使用的泛型。

【问题讨论】:

  • 您的问题标题没有意义。你不能使用Delphi Lazarus,因为没有这样的东西。您发布的代码(甚至尝试正确格式化)不是 Lazarus/FreePascal 代码;这是德尔福代码。 Lazarus 没有 System.Generics 命名空间,AFAIK。您可以尝试阅读有关泛型的 Lazarus/FP 文档以找出在哪里可以找到合适的单元。 Delphi 和 FreePascal 不是同一个产品,它们也不相同。它们有相似之处,但不是一切都直接兼容,所以只需编译它
  • 我不想把整个代码放在这里,因为只有USES不能编译。我只是把所有的想法都放在了使用声明上。但是你说了一些我不知道的事情。我假设拉撒路将是“免费的德尔福”的东西。就像您拥有 Visual Studio Ultimate 或只是 Express。在工作中,我们使用 Embarcadouro IDE XE2 for delphi,我在那里使用这些用途。我正在关注一些关于 delphi 7 的视频,他们说如果你没有 delphi IDE 的访问权限,你可以下载 lazarus
  • 或者类似 Eclipse 和 NetBeans 的 IDE,我不知道那是不同的程序语言。
  • @KenWhite:从技术上讲,Eclipse 是一个更通用的 IDE,它支持多种工具链,包括但不限于 Java。
  • 简单,他是 Pascal 的初学者。让我们帮助他不要打败他。

标签: delphi generics lazarus tobjectlist


【解决方案1】:

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

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

但就泛型而言,FreePascal 提供了自己的泛型语法和实现,与 Delphi 的泛型不同,也不兼容(实际上,在FreePascal 2.6 中添加了对 Delphi 风格泛型的支持,但是“仍然可能不是 100% 兼容" 与 Delphi。另请参阅 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。

【讨论】:

    【解决方案2】:

    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 中继同步)。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多