6

如果控件未安装在 IDE 中,是否可以“按需/选择性地”禁用 DelphiXE 中的表单设计器,并且仅在需要时使用表单/类的代码?

4

3 回答 3

2

我会说答案是否定的,但我使用的解决方法是编辑 DFM 文件并删除不存在的组件,然后将其粘贴到 FormCreate 事件并在那里实例化它。属性都在 DFM 中,所以稍微编辑一下就可以很好地工作。

于 2011-07-22T10:07:07.100 回答
1

不,您不能有选择地禁用它。我经常做的(因为我的大多数 IDE 中几乎没有安装任何控件)是我只是打开表单,告诉 Delphi 在加载 dfm 时忽略所有错误,编辑源代码并确保我没有t 将 dfm 签入我的源代码控制系统。

您可以尝试将 dfm 保持为只读,以避免错误地签入带有已删除控件的 dfm,但这样做有一个缺点:每次您尝试保存源时,IDE 都会出现关于只读的错误文件。如果您像我一样经常按 Ctrl-S 或 Shft-Ctrl-S,那很快就会变得很麻烦。

当我必须更改 dfm 时,我会在文本模式下进行,或者安装控件,进行 dfm 更改并提交。之后,我可以再次卸载控件并只处理 pas 文件,忽略/还原对 dfm 的任何更改。

于 2011-07-22T10:49:24.647 回答
1

不,目前没有合理的解决方法。

我已经要求在未来的某个时候这成为 Delphi 中的一个特性;不应该通过打开 DFM 来破坏它们,多个模式对话框也不应该是在打开未安装控件的表单时询问您是否要破坏 DFM 的默认行为。

最终只有一个实用的解决方案;安装所有控件。其他任何事情都会让你发疯。

于 2011-07-22T13:27:00.787 回答