问题标签 [dfm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
334 浏览

c++builder - 停止 C++Builder XE 删除/编辑 .dfm 文件中的 UI 组件

如何阻止 C++Builder XE 自动编辑 .dfm 文件?

我目前正在将一个相当大的代码库从 BCB5 移植到 XE。旧代码中使用了很多外部组件,但尚未为新环境安装(因为我需要找到工作替代品或自己移植它们)。现在,Builder 删除/更改了我的 dfm 文件中这些 UI 组件的定义。如果 IDE 没有找到组件的实现,则将其完全删除。对于已知组件,大小会多次更改一个很小的值。我怎样才能改变这种烦人的行为?

0 投票
2 回答
2361 浏览

delphi - 有没有 Delphi DFM 到 Delphi 源代码的转换工具?

Delphi 表单设计器非常好,但我们需要直接从源代码工作。是否有工具或脚本可以获取一批 DFM 文件并将它们转换为 Delphi 源代码?

0 投票
4 回答
2298 浏览

delphi - 遵循设计时规则在运行时重新排列组件位置、大小、所有权(一般属性)的某种方式

我们有一个应用程序,它在表单上有许多组件(面板、选项卡、编辑、组合框等......)。但是根据用户配置文件,它们中的大多数可以自动填充和/或不可见。因此,用户可以更快地完成工作。

问题:有没有更简单的方法在运行时创建、定位、更改所有权等?我想为给定单元创建 2 个 .dfm 文件,然后告诉应用程序使用什么 .dfm。喜欢:“嘿!用户是高级用户,请使用 Unit1Advanced.dfm!” 一个工作的例子会很好。我也想在 Delphi 7 中使用它,但它至少必须在 Delphi XE 中工作。

我所知道的存在到现在:

  1. ComponentsToCodeGExperts的函数可以从给定组件创建代码,正如 gabr 在此答案中指出的那样。
  2. 我可以创建 2 个表单并在运行时创建所需的一个。但这意味着每个附加的 .dfm 文件都有一个附加的 .pas 文件。这将更难维护。
  3. 这个答案似乎给出了一个提示。但我不习惯 TReader 和 TWriter 类......
0 投票
4 回答
2719 浏览

regex - 在 Delphi 中从 .dfm 文件中删除属性的快速方法

我最近修改了我的一个组件,碰巧它不再使用它以前使用的属性之一。

但是,这些属性写入整个项目的多个 .dfm 文件中。现在,当我尝试编译项目时,我得到“读取错误。:属性 <...> 不存在”

复杂的部分是属性值是二进制数据(存储在多行中),我不能用 Delphi replace 或 notepad++ regexp 删除它(因为它们是基于单行的)。

所以我的问题是:

是否有任何第三方工具或方法可以轻松地从多个 .dfm 文件中删除属性?

0 投票
1 回答
524 浏览

.net - 我们是否将 Button down 属性设置为布尔值

我被分配将delphi代码转换为.Net,并且想知道我们是否像delphi那样具有按钮的属性?正如此链接中所回答的, 如果 Delphi TSpeedButton 是组中唯一的一个,如何使 Delphi TSpeedButton 保持按下状态

我们可以在.Net Button 控件中实现这种行为吗?

0 投票
1 回答
1850 浏览

delphi - 德尔福 DFM 检查器

我有下一个问题。其他团队已从组件更改(删除)属性,现在一些表单打开时显示消息“读取表单属性时出错....不存在”。如何在 Delphi 项目中检查正确性 dfm 文件?

0 投票
2 回答
2486 浏览

delphi - Delphi DFM 文件中的奇怪 [number]s - 起源和必要性?

我需要将一个包中定义的大量 Delphi 组件更改为另一个包中的类似组件。大部分繁重的工作可以通过替换 DFM 文件中的文本(组件类型和属性)来完成 - 当然保存为文本。

我已经搜索了 Stackoverflow 和 Google,现在正在从http://www.felix-colibri.com/papers/colibri_utilities/dfm_parser/dfm_parser.html改编 Felix Colibri DFM 解析器

我在解析器阻塞的 DFM 文件中遇到了一个“功能”:在类型规范之后的 [number]s,如下所示:

这些 DFM 中的许多都被大量继承(我已经为此调整了 Colibri 的代码),但是一个带有继承的小型测试应用程序未能在 DFM 中生成 [number] 个。

在扩展解析器代码之前我的问题是:有谁知道这些 [number] 来自哪里,因此,我可以在解析 DFM 文件之前删除它们吗?

谢谢

0 投票
1 回答
3117 浏览

delphi - 文本 DFM 上下文菜单选项是什么意思?

当您右键单击 Delphi 表单时,您会得到弹出的上下文菜单。底部选项是Text DFM。此选项可以选中或不选中。选中或取消选中此选项是什么意思?

在此处输入图像描述

0 投票
0 回答
193 浏览

delphi - 将如何完成 TComponent 的 WriteState

通过使用 TComponent.Loaded 方法读取流,我知道所有其他组件都已准备就绪。类似于Loaded,通过写来存在一些东西,也就是说,所有的组件都是写的?

谢谢

0 投票
2 回答
1684 浏览

delphi - Delphi XE2 改变了 DFM,即使没有任何改变

可能重复:
是否有一个 Delphi 选项可以“锁定”表单的设计(布局)以防止意外更改?

我们最近从 StarTeam 更改为 SVN,但我们的 DFM 文件出现问题。看起来 Delphi 更改了 DFM 文件,即使我们实际上并没有更改表单。

例如:我打开一个现有文件,更改活动标签页,保存文件,将标签页更改回其原始状态,然后再次保存。当我比较这两个文件时,PixelsPerInch、TextHeight、Top 和许多其他值发生了变化?我的代码的一个小示例:

我的问题是:有没有办法让 Delphi 仅在表单发生更改时才更改 DFM?现在,我们总是在 SVN 中更新时发生冲突。