8

在 Delphi XE3 下安装组件是一场噩梦。

  • 首先我需要将源文件添加到

    工具->选项->

  • 然后我需要找到一个正常的包并编译它

  • 最后我需要找到设计时包并安装它。

这非常乏味且容易出错。有没有更好的方法来安装组件?

我找到了Delphi Package Installer。不幸的是,它不支持 Delphi XE3 或更高版本。

我听说有类似的东西会产生exe安装自己的包(比如 Inno Setup),但我找不到这样的东西。

4

4 回答 4

10

不可以。上述步骤是必需的。

首先,添加文件路径Tools->Options->Delphi Options->Library Path是为了让编译器知道在哪里可以找到文件来编译它们。(实际上,这不是必需的 - 您可以通过确保 .dpk 文件与 .pas 文件位于同一文件夹中来消除此步骤,并且所有 .pas 文件名都列在includes.dpk 的部分中。如果.pas 文件位于不同的位置,您需要使用 .dpk 中的相对路径(例如,MyComponents in '..\Source\MyComponents.pas')或将 .pas 文件的位置添加到Project->Options->Delphi Compiler->Search Path.)

下一步(查找“正常包”)是为了构建运行时包。这是必需的,因为设计时包(下一步)需要该包中的代码才能在表单设计器中运行。当您决定使用运行时包构建应用程序时,也需要它,如果您使用第三方组件并希望为其分发运行时包。

需要单独的设计时包(第三步),因为设计时代码只能在设计时使用;如果应用程序是使用运行时包构建的,并且步骤 2 中的包构建就是其中之一,则没有任何东西可以与应用程序一起分发。

这是从 Delphi 3 左右开始安装组件的方式,并且在 Delphi 5 中开始建议将设计时代码分离到自己的包中,并在 Delphi 6 中强制执行(当他们将大部分 IDE 设计时支持重新定位到他们的拥有单独的软件包并停止分发它们的源代码)。

确实没有其他选择,除非供应商为您提供预构建设计时和运行时包,或者提供将执行上述所有步骤的安装程序。(大多数不这样做。)但是如果您更新您的 Delphi 版本,您仍然必须完成上述步骤。

于 2012-12-09T19:47:01.250 回答
2

内置组件安装程序呢?它是 Delphi XE、XE2 和 XE3 的一部分,可以在此处找到描述(我写的)。它甚至会在 C++Builder 中安装组件。您可以安装到现有包中或安装到它将为您创建的新包中。

于 2012-12-10T12:18:08.993 回答
1

我想说安装组件的最佳方法是使用您的构建管理器(例如 FinalBuilder)并将每个组件添加到一个管理器项目文件中,该文件设置必要的路径,构建 DPK 文件,并在IDE 通过创建一个注册表项。这样,您就有了一个文档化的过程,可以让您可靠地设置或修复您完整的、经过测试的 Delphi 开发环境。当组件更新和测试后,您可以简单地重新运行项目。调整现有项目以处理新的 Delphi 版本也很容易。

供应商提供的安装程序的一大缺点是,我看到的所有安装程序都只是在更新时覆盖了以前的版本。我更喜欢自己控制安装,以便将以前的组件源版本存档并可供比较,以防测试发现升级存在问题。“一键安装”听起来不错,直到小组件升级突然导致您的应用程序停止工作。

于 2012-12-10T01:06:19.813 回答
1

看看“ Lazy Delphi Builder ”。它的创建是为了一次简化许多组件的构建/安装。它自动解决包依赖关系。免费使用。 链接到一些旧教程

于 2012-12-21T15:07:36.127 回答