如何在 Delphi 7 中安装 Tnt 控件
How to install Tntcontrols in Delphi7
我是 Delphi 的新手,我的项目中需要 TntContols 包,在 https://github.com/pitfiend/TntControls 下载 TntContols,安装 TntUnicode-master\Delphi\d7TntUnicodeVcl_D70.dpk
,然后我将一个 TntButton 拖到表单中,然后运行 我的应用程序,但抛出错误:
[Fatal Error] Unit1.pas(7): File not found: 'TntStdCtrls.dcu'
代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, TntStdCtrls;
type
TForm1 = class(TForm)
btn1: TTntButton;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
默认情况下,D7 附带的 BPL 和 DCU 文件分别安装在主 Delphi 文件夹下的 .LIB 和 .BIN 文件夹中,我将其称为 \D7。
最好不要将其他组件安装到这些文件夹中。原因是最终,当您安装额外的第 3 方库时,您可能 运行 进入编译错误 "Unit Y was compiled with a different version of unit Y" 如果 BIN 中的文件可能需要您重新安装 Delphi和 LIB 文件夹有关。实际上,这个问题通常发生在你编译了一个项目之后,该项目被配置为不需要访问库的 .PAS 文件(因为 IDE 在项目编译期间不需要访问库的 .PAS它使用该库,只要它能找到该库的 .DCU 文件即可。
许多第 3 方库包含(至少)两个 .DPK 文件,其中一个是所谓的 运行time 包,另一个是设计时包。设计时包是您在 IDE 中安装的包,用于安装库的组件,而 运行-time 包包含设计时包中的例程所依赖的例程。除非使用库的项目被编译为使用 运行time 包,否则在编译项目的过程中不会使用 运行time 包(但对应的 .DCU 文件会被使用,这就是为什么IDE 需要配置才能找到它们)。
我一直为没有自己的安装程序的第 3 方 D7 库所做的如下:
仅限一次性:创建文件夹 \D7\LIB2。将它添加到您的 OS 路径。
对于您要安装的库中的每个 .DPK 文件:
一个。打开 IDE 中的 .DPK 文件并将其 BPL 和 DCU 输出文件夹编辑到 \D7\LIB2。通过单击包编辑器中的 Options
按钮和项目选项弹出窗口中的 Directories/Conditionals
选项卡,将输出目录、单元输出目录和 DCP 输出目录全部设置为 [=12] =]
b。单击 Compile
按钮编译软件包,然后单击 Install
按钮(如果已启用)将其安装在 IDE 中。
c。关闭包 (.DPK) 编辑器。
打开要使用该库的项目并编辑其搜索路径以包含 \D7\LIB2 但不是库的 .PAS 文件的路径。
编译你的项目。
备注:
请注意,上述内容不包括将库的源(.PAS 文件)路径添加到您的项目中。如果您按照上述步骤进行操作,那么这样做是不必要的,并且只会(最终)导致我提到的 "Unit Y was compiled ..." 错误的发生。
上述方法也适用于最近的 Delphi 版本,但由于独立的 .DPK 编辑器已从 IDE.[=15= 中删除,因此需要更多的点击来完成必要的操作]
我是 Delphi 的新手,我的项目中需要 TntContols 包,在 https://github.com/pitfiend/TntControls 下载 TntContols,安装 TntUnicode-master\Delphi\d7TntUnicodeVcl_D70.dpk
,然后我将一个 TntButton 拖到表单中,然后运行 我的应用程序,但抛出错误:
[Fatal Error] Unit1.pas(7): File not found: 'TntStdCtrls.dcu'
代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, TntStdCtrls;
type
TForm1 = class(TForm)
btn1: TTntButton;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
默认情况下,D7 附带的 BPL 和 DCU 文件分别安装在主 Delphi 文件夹下的 .LIB 和 .BIN 文件夹中,我将其称为 \D7。
最好不要将其他组件安装到这些文件夹中。原因是最终,当您安装额外的第 3 方库时,您可能 运行 进入编译错误 "Unit Y was compiled with a different version of unit Y" 如果 BIN 中的文件可能需要您重新安装 Delphi和 LIB 文件夹有关。实际上,这个问题通常发生在你编译了一个项目之后,该项目被配置为不需要访问库的 .PAS 文件(因为 IDE 在项目编译期间不需要访问库的 .PAS它使用该库,只要它能找到该库的 .DCU 文件即可。
许多第 3 方库包含(至少)两个 .DPK 文件,其中一个是所谓的 运行time 包,另一个是设计时包。设计时包是您在 IDE 中安装的包,用于安装库的组件,而 运行-time 包包含设计时包中的例程所依赖的例程。除非使用库的项目被编译为使用 运行time 包,否则在编译项目的过程中不会使用 运行time 包(但对应的 .DCU 文件会被使用,这就是为什么IDE 需要配置才能找到它们)。
我一直为没有自己的安装程序的第 3 方 D7 库所做的如下:
仅限一次性:创建文件夹 \D7\LIB2。将它添加到您的 OS 路径。
对于您要安装的库中的每个 .DPK 文件:
一个。打开 IDE 中的 .DPK 文件并将其 BPL 和 DCU 输出文件夹编辑到 \D7\LIB2。通过单击包编辑器中的
Options
按钮和项目选项弹出窗口中的Directories/Conditionals
选项卡,将输出目录、单元输出目录和 DCP 输出目录全部设置为 [=12] =]b。单击
Compile
按钮编译软件包,然后单击Install
按钮(如果已启用)将其安装在 IDE 中。c。关闭包 (.DPK) 编辑器。
打开要使用该库的项目并编辑其搜索路径以包含 \D7\LIB2 但不是库的 .PAS 文件的路径。
编译你的项目。
备注:
请注意,上述内容不包括将库的源(.PAS 文件)路径添加到您的项目中。如果您按照上述步骤进行操作,那么这样做是不必要的,并且只会(最终)导致我提到的 "Unit Y was compiled ..." 错误的发生。
上述方法也适用于最近的 Delphi 版本,但由于独立的 .DPK 编辑器已从 IDE.[=15= 中删除,因此需要更多的点击来完成必要的操作]