我在 Delphi 2007 上进行测试,我的 groupproject 由 2 个包组成。
包运行.bpl
它被标记为“仅运行时”并包含一个名为“uMyTestRun.pas”的单元,其中定义了一个空的 TFrame 后代:
unit uMyTestRun;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TMyTest = class(TFrame)
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.dfm}
end.
PackageDes.bpl
它需要 PackageRun.bpl,它被标记为“仅设计时”并包含一个名为“uMyTestDes.pas”的单元,我在其中编写了以下代码:
unit uMyTestDes;
interface
uses
Classes,
uMyTestRun;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('MyComponents', [TMyTest]);
end;
end.
两个包的输出目录都在库路径中(里面有 bpl、dcp 和 dcu)。
尝试安装 PackageDes.bpl(组件、安装包...、添加...),我收到以下错误:
无法加载包 C:\<...>\PackageDes.bpl。不可能的 trovare il modulo specificato。
消息的最后一部分是我的操作系统的语言,英文应该是“找不到指定的模块”。(我的操作系统是 Windows 10 Pro 64 位)。
PackageDes.bpl 与错误消息中显示的路径完全相同 (C:\<...>\PackageDes.bpl)。经过一些测试,我发现通过从 uMyTestDes.pas 单元中删除以下行,错误消失了:
RegisterComponents('MyComponents', [TMyTest]);
我的代码/项目/环境有问题吗?