我正在开发一个 IDE 注册组件包,其中大部分是从 TFrame 基类派生的。包中还包含由这些组件调用的各种自定义对话框表单。我在德尔福 2007 年工作。
我注意到有时通常具有关联 DFM 文件的框架和表单单元并不总是在它们下方显示 DFM 文件“下方”(可通过小 [+] 树视图节点扩展器访问)。如果我添加一个现有的基于表单的 PAS 文件,例如,通过右键单击 BPL 项目(在项目管理器中)-> 添加,它不会在列表中显示 DFM 文件。
但是,如果我添加新的并在项目中创建一个新的窗体或框架单元,它会在项目管理器中显示为典型的嵌套两个文件项。如果我将现有表单从项目组中的另一个项目拖到有问题的这个 BPL 项目中,它也会显示这种方式。
似乎这应该是一致的,我更喜欢两个文件显示单位是框架还是表单。
这是否表明项目文件中有问题?我是否错误地将现有表单/框架添加到此包中?如果是这样,我应该如何添加现有的表单/框架单元,以便两个文件都显示在项目管理器列表中?
* 更新 *
来自艾伦的以下建议:
我尝试将 {$R *.dfm} 指令添加到表单的单元中,并且在将 DFM 文件添加到我的 BPL 包/项目时它不会强制显示它。将 {$R *.dfm} 添加到项目文件本身(我认为这不是您的意思,但我想我会尝试)也不起作用。这种技术是否只适用于 EXE 项目?
可能(可能)相关,尝试在某些地方使用该指令进行构建给了我这个:
[DCC 错误] E2161 警告:重复资源:类型 10 (RCDATA),ID TTESTTREEVIEW;文件 E:\Projects\MyApp\Components\TTestTreeViewFrame.dfm 资源保留;文件 E:\Projects\MyApp\Components\TTestTreeViewFrame.dfm 资源被丢弃。
“保留”和“丢弃”同一个文件??
后来:看起来这个“重复资源”问题可能与 此有关。不确定,但至少在一种情况下,两者同时发生。