![]() |
1
16
我不会说DFM是一种“内部格式”。当然,Delphi在内部将其用于表单和数据模块,但执行流式处理的treader和twriter类是公开访问的,甚至是文档化的。因此,它们显然也适用于最终用户。
现在,可能的问题是,当保存流时,流中的某个类随后发生更改,从而使流不再兼容。如果您试图打开D7中保存在D2007+中的表单(缺少属性),您可能在Delphi中看到了这一点。但即使发生了,也不难解决。您将得到一个异常,它将报告导致问题的确切属性。您还必须注册所有要流式处理的类
DFM可以二进制或文本格式存储。即使您将其存储为二进制,也可以将其转换为文本(使用
因此,由于结构中的不兼容更改,您可能会遇到一些问题,但这些问题与DFM机制本身无关,并且也会使用任何其他流机制发生。 至于使用寿命,您仍然可以在最新的Delphi中打开用d1保存的dfm。只要您记住向后兼容性,就没有什么可担心的了。 总之,任何特定格式的选择,dfm,xml,json,你自己的…不会影响寿命。它们都需要相同级别的兼容性。 选择格式的原因更多地与以下方面的决定有关:
但你没有提到问题中的任何一个。 所以我建议使用DFM覆盖您自己的,因为这意味着要维护的代码更少。 |
|
user71216 · Pickle(Python 3.6)写入空文件 7 年前 |
![]() |
Levi · 在所有文本框实际填充之前,是否必须显示每个选项卡? 7 年前 |
![]() |
Jim Dalinder · 如何保存控制台的“状态” 7 年前 |
|
user9010885 · 如何向文件中添加非文本? 7 年前 |
![]() |
Hiddenguy · 从循环中删除数据并保存到文件 7 年前 |
![]() |
Junhao · 使用SQLite保存数据并将其添加到ListView 7 年前 |