最初从Project1克隆了Project2以使新机器正常运行,但现在我正在重构代码,因此可以在两个项目之间共享表单和单元以减少开发工作.有条件定义,如{$IFDEF PROJ1},在需要时使用.
我们有一个表单在项目之间几乎相同,除了一个TCheckBox,它在Project1中而不是Project2.让我们将这个窗体称为单元文件Masking.pas(和Masking.dfm).
脚步:
>将.pas和.dfm从Project1移动到公共共享文件夹中
>将Masking.dfm重命名为MaskingProj1.dfm
>将Project2中的Masking.dfm复制到公共共享文件夹中,并重命名为MaskingProj2.dfm
>手动编辑每个项目的项目(.dpr)文件以反映更改
>在Masking.pas中,将{$R * .dfm}更改为:
{$IFDEF PROJECT1}
{$R MaskingProj1.dfm}
{$ELSE}
{$R MaskingProj2.dfm}
{$ENDIF}
>同样在Masking.pas中,使用{$IFDEF PROJECT1}条件定义来编译TCheckBox控件和Project2的相关代码.
最后,重新打开两个项目并重新编译.嘿presto!有用.现在Project1使用Masking.pas和MaskingProj1.dfm. Project2使用Masking.pas和MaskingProj2.dfm.
这一切看起来都很好……除了当我尝试在IDE中查看表单时,通过在表单和单元之间切换(F12),不会显示任何内容.我可以手动编辑.dfm文件,重新编译后更改会反映在应用程序中……但IDE不会显示该表单.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。