我正在测试Delphi 2007,我的groupproject由2个包组成.
PackageRun.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.
Run Code Online (Sandbox Code Playgroud)
PackageDes.bpl
它需要PackageRun.bpl,它被标记为"仅设计时间"并包含一个名为"uMyTestDes.pas"的单元,其中我编写了以下代码:
unit uMyTestDes;
interface
uses
Classes,
uMyTestRun;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('MyComponents', [TMyTest]);
end;
end.
Run Code Online (Sandbox Code Playgroud)
两个包的输出目录都在库路径中(里面有bpl,dcp和dcu).
尝试安装PackageDes.bpl(组件,安装包...,添加...),我收到以下错误:
无法加载包C:\ <...>\PackageDes.bpl.Impossibile trovare il modulo specificato.
消息的最后部分是用我的操作系统的语言,用英语说它应该是"找不到指定的模块".(我的操作系统是Windows 10 Pro 64位).
PackageDes.bpl与错误消息(C:\ <...>\PackageDes.bpl)中显示的路径完全相同.经过一些测试,我发现从uMyTestDes.pas单元中删除以下行后错误消失了:
RegisterComponents('MyComponents', [TMyTest]);
Run Code Online (Sandbox Code Playgroud)
我的代码/项目/环境有什么问题吗?