将表单和框架添加到包中

2024-02-05

我正在开发一个 IDE 注册组件包,其中大部分都派生自 TFrame 基类。包中还包含这些组件调用的各种自定义对话框表单。我在 Delphi 2007 工作。

我注意到,有时框架和表单单元(通常具有关联的 DFM 文件)并不总是在其下方“下方”显示 DFM 文件(可通过小 [+] 树视图节点扩展器访问)。例如,如果我添加现有的基于表单的 PAS 文件,通过右键单击 BPL 项目(在项目管理器中)-> 添加,它不会在列表中显示 DFM 文件。

但是,如果我添加新项并在项目中创建新的表单或框架单元,它将在项目管理器中显示为典型的嵌套两个文件项。如果我将现有表单从项目组中的另一个项目拖动到相关 BPL 项目,它也会显示这种方式。

看起来这应该是一致的,我更喜欢在单位是框架或表单时显示两个文件。

这是否表明项目文件中有问题?我是否错误地将现有表单/框架添加到此包中?如果是这样,我应该如何添加现有的表单/框架单元,以便这两个文件都显示在项目管理器列表中?

* 更新 *

根据艾伦的以下建议:

我尝试将 {$R *.dfm} 指令添加到表单的单元中,并且在将 DFM 文件添加到我的 BPL 包/项目中时,它并没有强制显示 DFM 文件。将 {$R *.dfm} 添加到项目文件本身(我认为这不是您的意思,但我想我会尝试一下)也不起作用。该技术仅适用于 EXE 项目吗?

可能(可能)相关,尝试在某些地方使用该指令进行构建给了我这个:

[DCC 错误] E2161 警告:重复资源:类型 10 (RCDATA),ID TTESTTREEVIEW;文件 E:\Projects\MyApp\Components\TTestTreeViewFrame.dfm 资源已保留;文件 E:\Projects\MyApp\Components\TTestTreeViewFrame.dfm 资源已丢弃。

“刻平”和“丢弃”同一个文件??


后来:看起来这个“重复资源”问题可能与 this https://stackoverflow.com/questions/589523/delphi-ide-treating-tframe-as-if-it-were-a-form。不确定,但至少在一个例子中两者同时发生。


Vegar 走在正确的道路上。为了让项目管理器显示 .dfm 节点,它需要知道表单/框架/数据模块与 pas 文件关联。它会查看 .dpk 或 .dpr 文件中的 {Form1} 注释以获取此信息。如果在将文件添加到项目时,IDE 无法识别有与其关联的 .dfm,请确保 .pas 文件具有明确的 {$R *.dfm} 指令。这样,我就不应该被埋在 IFDEF 中或被文件中潜在的语法错误所掩盖。 IDE 使用此指令的存在来决定是否应尝试在设计器中打开 .dfm。

IDE 不会理所当然地认为如果存在 Unit1.pas 和 Unit1.dfm,那么它们确实应该在一起。假设您创建了一个新的表单单元,并将其称为 Unit1。现在您只删除了 Unit1.pas,然后创建了一个新单元,并将其命名为 Unit1.pas。这个新的、同基名称的 Unit1.pas 中没有对磁盘上旧的、过时的 Unit1.dfm 的引用。如果 IDE 只是盲目地打开该 .dfm,那将会很奇怪且令人困惑。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将表单和框架添加到包中 的相关文章

  • 如何彻底删除 Perl 中的包?

    如何在 Perl 中彻底删除一个包 这不仅意味着包变量 还意味着 Perl 更新以处理继承更改和其他事情的任何魔术表 这个简单的测试 use warnings use strict use Test LeakTrace use Symbol
  • 如何禁用 Qt Creator 中的“问题”窗格?

    我发现使用编译器输出更容易 但 Qt Creator 中的 问题 窗格会在每次编译后自动弹出 隐藏有用的信息 迫使我每次都隐藏它 有没有办法禁用这种行为 我不介意收集错误 我只是不希望每次我不要求时都显示这个特定的 UI 我使用的是 Qt
  • 面向 Delphi 开发人员的 Qt

    有人知道为 Delphi C Builder VCL 开发人员解释 Qt 的书籍或教程吗 对于具有该背景的开发人员来说 学习 Qt 的最佳方法是什么 我对如何使用 Qt 完成我知道如何在 Delphi 中完成的事情特别感兴趣 例如 Qt 相
  • 有没有办法从另一个包访问结构体的私有字段?

    我在一个包中有一个具有私有字段的结构 package foo type Foo struct x int y Foo 另一个包 例如 白盒测试包 需要访问它们 package bar import foo func change foo f
  • 有关 HTML 和 PHP 开发工具的帮助

    我是网络开发新手 我有使用原始 HTML 的经验 使用记事本 但我计划为我的最后一年项目制作一个网站 我之前曾就其想法提出过问题 现在我需要一些开发部分的帮助 我可以使用哪种工具来设计网站 请建议一些易于使用且功能强大的工具 利用这些工具我
  • 是否有一个“轻型版本”IntelliJ IDEA 可以在没有项目的情况下编辑文件?

    可以从命令行在单个文件上调用 IntelliJ IDEA 如此处所述 将 IntelliJ IDEA 作为 Diff 或合并命令行工具运行 https www jetbrains com help idea running intellij
  • 在Java中从控制台打开包中的类

    因此 当我尝试从命令提示符打开一个不在包中的 java 类时 一切正常 但是当我尝试打开一个包中的类时 它会给我 NoClassDefFoundError 错误 当我尝试打开类 java somepackage someclass 时列出包
  • 通过“修改日期”确定文件夹中的哪个文件是最新的?

    我需要扫描特定文件夹中的最新文件 基本上检查修改日期以查看哪个是最新的 但请记住这些文件具有随机名称 这是我到目前为止得到的 procedure TForm1 Button1Click Sender TObject begin ftp Ho
  • 如何从窗体单元外部访问delphi控件?

    我试图从如下定义的过程中调用计时器的 Enabled 属性 procedure Slide Form TForm Show Boolean 并且没有固定的形式名称 例如 Form2 Timer 将表单的单位放入使用列表后 这可以工作 For
  • Soap Delphi 客户端因 1MB 调用超时而结束

    我们正在开发 SOAP Web 服务 Apache PHP 所有小规模调用都运行良好 但对于 1Mb 的 Soap 调用 HTTPS 调用大小为 1MB 我们的 Delphi Soap 客户端在除一台 PC 之外的所有 PC 上都因超时而停
  • 我可以在 Delphi 中使用字符串“IsEmpty”方法吗

    内河码头文件 IsEmpty 方法 http docs embarcadero com products rad studio delphiAndcpp2009 HelpUpdate2 EN html delphivclwin32 Syst
  • 如何检查文件是否有备用数据流?

    Delphi 有没有办法检查文件是否有任何备用数据流 看一下 Win32 APIFindFirstStreamW https msdn microsoft com en us library windows desktop aa364424
  • 如何将 Delphi Chromium Embedded (TChromium) 组件的声音静音?

    我需要将某个声音静音TChromium组件来制作无声浏览器 主要问题是在 Windows XP 上 当我将浏览器的声音静音时 它会静音整个系统的声音 有没有办法让电脑静音TChromium成分 我已经成功使用以下代码 procedure C
  • SSIS Master 包执行来自另一个项目的包

    我有多个SSIS项目 但其中的一些包是相同的 我想创建一个包含所有内容的项目generic包并将其他项目与他们的特定包一起保存 所以我的问题是 是否有可能有一个主包可以执行并将父变量传递给另一个项目的包 我是 SSIS 新手 如果这是一个明
  • DBX 错误:驱动程序无法正确初始化

    我在跑步德尔福XE3 终极版 MySQL 数据库 这是我点击时收到的错误Test Connection 作为回应 我在 xampp 目录中找到了 libmysql 库 并将其复制到我的 System32 目录中 但这是行不通的 此消息指的是
  • 指针^ 与 s[1]

    在读取数据的函数中 数据含义只字符串 从磁盘 我应该更喜欢哪个 哪个更好 A DiskStream Read Pointer s Count or B DiskStream Read s 1 Count Note 我知道两者都有相同的结果
  • Haskell Cabal:“包间接依赖于同一包的多个版本”

    清除我的所有后cabal installed 包 我运行了以下会话 cabal update Downloading the latest package list from hackage haskell org james bast c
  • 在 tlistbox 中绘制缩略图

    在 DelphiXE 中 我使用 tFileOpenDialog 选择一个文件夹 然后在 tListBox 中列出该文件夹中的所有 jpg 文件 我允许将列表项拖放到列表中进行自定义排序 以便稍后按顺序显示它们 我希望能够在文件名旁边绘制图
  • Python 和 Django IDE 具有远程编辑功能吗?

    我正在寻找一个 IDE 它允许我编辑远程 Python 项目 并且还具有良好的 Django 支持 远程命令执行以及远程调试 我已经尝试使用 PyCharm 和 Aptana 与 PyDev 但我在配置它们进行远程编辑时运气不佳 感谢您的帮
  • 使用 (Object as TClass) 和 TClass(Object) 进行强制转换有什么区别

    有问题在哪里MyObj classnameis TMyClass classname 是真的并且TMyClass MyObj 有效但是 MyObj as TMyclass doSomething抛出转换错误 我真的不需要任何关于这些垃圾的帮

随机推荐

  • python:安装anaconda后,如何导入pandas

    我已经安装了蟒蛇 现在当我尝试跑步时 import pandas as pd 我收到以下错误 Traceback most recent call last File
  • Python 中的词法分析、标记化和解析资源

    人们可以向我指出有关使用 Python 进行词法分析 解析和标记化的资源吗 我正在对一个开源项目进行一些黑客攻击 hotwire http www hotwire shell org 并想对代码进行一些更改lexes http code g
  • Poco C++ 库和 Win32 GUI 集成

    有人曾经在 Win32 GUI 应用程序中使用过 Poco C 库吗 在 PocoFoundation 库中 UnWindows h 头文件中的许多 undef 禁止使用重要的 API 如 CreateWindows LoadLibrary
  • 从tensorflow.js神经网络获取权重

    我有这个顺序模型 this model tf sequential this model add tf layers dense units 16 useBias true inputDim 7 input this model add t
  • 使用 XMLInputFormat 在 hadoop 中解析 xml 时不执行我的 hadoop 映射器类

    我是 hadoop 新手 使用 Hadoop 2 6 0 版本并尝试解析复杂的 XML 经过一段时间的搜索 我了解到 对于 XML 解析 我们需要编写自定义的 InputFormat 即 mahout 的 XMLInputFormat 我也
  • 如何将图像拖放到 HTML5 Canvas 上?

    我修改了一个页面 可以将图像拖放到画布上 它可以做我想要的一切 除了一个 我尝试了多种方法 包括脚本 例如 Kinetic 和 Raphael 我仍然认为这可能是可行的方法 但已经死了 一旦图像被放下 我就无法将其在画布上拖动到新位置 fu
  • 使用 PDFBox 从字符串中删除非法字符

    当我尝试向 PDF 中写入非法字符时 我显然遇到了异常 例如 contentStream showText some illegal characters java lang IllegalArgumentException U 000A
  • Python pandas 相当于替换

    在R中 有一个相当有用的replace功能 本质上 它在数据帧的给定列中进行有条件的重新分配 它可以这样使用 replace df column df column 1 Type 1 在 pandas 中实现相同目标的好方法是什么 我应该使
  • 仅通过命令行在 Windows 上运行 CMake 生成的 INSTALL.vcxproj?

    我有一个 C 程序 正在尝试在 AppVeyor 上构建和部署 因此 我没有可用的 GUI 工具 我的项目的依赖项均使用 CMake 作为其构建系统 并且 CMake 默认情况下 在 Windows 上生成 Visual Studio 项目
  • Java - 同时将两个表达式分配给一个变量

    我刚刚学完 Java 第一年 我一直在查看 JDK 源代码作为练习 我遇到了以前从未遇到过的情况 即在同一个语句中对同一个变量进行了两次赋值 e g variable 表达 表达 这里究竟发生了什么 这是一个相当普遍的事情吗 双重作业的目的
  • 有效连接多个 sas 数据集

    我有超过 200k 个具有相同变量 n macro catDat name nbr call in new dataset data new set libin name run reorder names proc sql noprint
  • ie11 的 CSS 自定义属性 polyfill

    有没有办法用 JavaScript 来 pollyfill ie11 的自定义 CSS 属性 我在考虑加载 检查浏览器是否支持自定义属性 如果不支持 则对属性进行某种查找和替换 这可以通过 JavaScript 或某些库实现吗 Thanks
  • 客户端 javascript 相当于 Lucene

    我想知道是否有一个相当于 Lucene API 的 Javascript 旨在用于客户端来索引相对较小的数据集 一个示例用例是静态站点 例如生成的 能够搜索内容而无需服务器端处理 我发现了这个 http lunrjs com http lu
  • Asp.net 验证错误消息更改标签文本

    我正在使用 asp net 验证控件来验证用户输入 我想要的是使用验证控件生成的错误消息更改标签文本
  • 角度 (1.5.8) 动态组件

    我正在尝试使用 Angular 1 5 8 构建一种动态仪表板 直到最后一个障碍 我已经取得了不错的进步 这实际上是在渲染动态组件 我尝试了 2 个选项 要么添加一个ui view并以编程方式传递小部件的名称 or 这就是我猜的路线more
  • 将参数从父函数传递给嵌套函数Python

    这是我的代码 def f x def g n if n lt 10 x x 1 g n 1 g 0 当我评估 f 0 时 会出现错误 赋值前引用了 x 但是 当我使用 print x 而不是 x x 1 时 它会起作用 看来在 g 的范围内
  • C# 定时器或 Thread.Sleep

    我正在运行 Windows 服务并使用循环和 Thread Sleep 来重复任务 使用计时器方法会更好吗 如果是的话 代码示例会很棒 我目前正在使用此代码来重复 int curMinute int lastMinute DateTime
  • 枚举的通用类,值的数量

    我如何知道我的枚举在此示例中有多少个值 public class Analyser
  • 如何使用服务的输入/输出动态创建组件实例并将其单独注入到 DOM 中?

    在 Angular 2 中创建动态组件时 我found https stackoverflow com questions 36325212 angular 2 dynamic tabs with user click chosen com
  • 将表单和框架添加到包中

    我正在开发一个 IDE 注册组件包 其中大部分都派生自 TFrame 基类 包中还包含这些组件调用的各种自定义对话框表单 我在 Delphi 2007 工作 我注意到 有时框架和表单单元 通常具有关联的 DFM 文件 并不总是在其下方 下方