【问题标题】:Sharing a project between two versions在两个版本之间共享一个项目
【发布时间】:2011-04-27 14:27:43
【问题描述】:

Delphi 是一个很棒的 IDE 和编译器。但有时它也有一些小缺陷。就像我现在的问题...
我正在处理一个在 Delphi 2007 中创建的项目。但我喜欢使用 Delphi XE 仅仅是因为 IDE 有一些有趣的功能,而且它在我的计算机上更稳定。所以我在 Delphi XE 中打开了这个项目,并一直在更改代码,同时考虑到向后兼容性。
但是,当我再次保存项目以在 D2007 中打开它时,它在读取项目时出现问题。 XE的dproj文件与2007不兼容。要再次打开D2007中的项目,我需要删除dproj文件并打开dpr文件。 (或者我需要保存2007年的旧proj文件,等我想再次使用D2007时再放回去。)

这很烦人。有谁知道更好的解决方案来为每个版本保留正确的 dproj 文件?

【问题讨论】:

  • 您可能想知道:我在工作中使用 D2007,在家里使用 D-XE。当我在家为我的雇主工作时,我也可以在家里使用 D2007,但是 IDE 经常崩溃。 D-XE 对我来说更可靠。
  • 除了 Skamradt 所写的内容之外,当 Delphi XE 开始以 Unicode 格式保存您的文件并且 Delphi 2007 无法读取它们时,请为意外做好准备。除了 Delphi 2009 及更高版本中引入的新组件和属性(是的,您可以尝试忽略 Delphi 2007 中的那些新属性,但您需要仔细检查是否因此而丢失任何信息)。
  • 幸运的是,我没有在这个项目中使用任何表单或组件。我正在处理非视觉背景任务和课程。当它工作时,它可以集成到 D2007 表单应用程序中,但现在它是一个简单的控制台应用程序。我倾向于以这种方式创建很多类和项目,因为其他团队成员正在为我做 GUI 部分。 :-)

标签: delphi delphi-2007 delphi-xe


【解决方案1】:

您可以做的一件事是将 DPR 和 DPROJ 文件放在不同的目录中。不幸的是,您必须将您在一个版本中所做的任何更改合并到另一个版本中,但使用Beyond compare 相当简单:

BCompare.exe .\d2007\project.dpr .\dXE\project.dpr

【讨论】:

    【解决方案2】:

    您可以将项目置于 Subversion 等版本控制中。如果您从版本控制中省略 .dproj 文件,在不同版本的 Delphi 中工作通常是很容易管理的

    【讨论】:

    • 我喜欢这个解决方案。 :-) 但我想我会做的略有不同,不签入更改后的 dproj 文件。 (但仍然必须检查 dpr。)
    • 检查它们,然后打开一个分支。需要时,您可以合并它们。
    【解决方案3】:

    在这种情况下,我使用单个 .dpr 和多个 .dproj 文件。

    基本步骤: - 在 D2007 中创建项目。 - 关闭项目。 - 将 project.dproj 复制到 project.xe.dproj。 - 在 XE 中打开 project.xe.dproj。 - 让它升级项目,保存并覆盖旧的 project.xe.dproj。 - 删除升级过程中创建的 project.xe.dproj 的备份副本。

    现在您有了在 D2007 中使用的 project.dproj 和在 XE 中使用的 project.xe.dproj。两者都使用相同的代码库 - project.dpr。

    【讨论】:

    • 只要您不更改项目设置或向其中添加任何单位/表格,这将起作用。特别是在后一种情况下,由于在 .dpr 文件中列出了表单,但在 .dproj 文件中没有列出,当您切换 IDE 时,您将获得一些“有趣”的效果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    • 2019-03-11
    相关资源
    最近更新 更多