如果控件没有安装在DelphiXE中,是否可以“按需/有选择地”禁用窗体设计器,只在需要的地方使用窗体/类的代码?
发布于 2011-07-22 18:07:07
我会说答案是否定的,但我使用的变通方法是编辑DFM文件,剪切掉不存在的组件,然后将其粘贴到FormCreate事件中并在其中实例化它。属性都在DFM中,所以稍微编辑一下就可以很好地工作。
发布于 2011-07-22 18:49:25
不,您不能有选择地禁用它。我经常做的(因为我的大多数IDE中几乎没有安装任何控件)就是打开表单,告诉Delphi在加载dfm时忽略所有错误,编辑源代码,并确保不将dfm签入到我的源代码控制系统中。
您可以尝试将dfm保持为只读,以避免错误地签入带有已删除控件的dfm,但这样做有一个缺点:每次您尝试保存源代码时,IDE都会出现有关文件的只读的错误。如果您像我一样频繁地按Ctrl-S或Shft-Ctrl-S,那很快就会变成一件麻烦事。
当我确实需要更改dfm时,我会在文本模式下进行更改,或者安装控件,执行dfm更改并提交。在那之后,我可以再次自由地卸载控件,只处理pas文件,忽略/恢复对dfm的任何更改。
发布于 2011-07-22 21:27:01
不,目前还没有合理的解决方法。
我已经要求这在将来的某个时候成为Delphi的一个特性;DFM不应该通过打开它们来销毁,当打开一个没有安装控件的表单时,询问是否要销毁DFM的多个模式对话框也不应该成为默认行为。
最后,只有一个实用的解决方案:安装所有控件。任何其他的事情都会让你发疯。
https://stackoverflow.com/questions/6787771
复制相似问题