如何确定创建Delphi项目的Delphi版本
我正在尝试自动确定使用哪个Delphi版本(安装在我的计算机上的Delphi 5到XE2)来打开给定的项目,而不会错误地升级该项目 在Delphi7之前,每个项目都有一个.ini格式的.dof文件。 Delphi 5没有任何可能有用的条目,但从Delphi 6开始,有一个[FileVersion]部分包含以下值:如何确定创建Delphi项目的Delphi版本,delphi,Delphi,我正在尝试自动确定使用哪个Delphi版本(安装在我的计算机上的Delphi 5到XE2)来打开给定的项目,而不会错误地升级该项目 在Delphi7之前,每个项目都有一个.ini格式的.dof文件。 Delphi 5没有任何可能有用的条目,但从Delphi 6开始,有一个[FileVersion]部分包含以下值: 德尔福5:不适用 Delphi6:6.0 Delphi 7:7.0 所以我想这就解决了这个问题,因为旧的Delphi版本与我无关 对于Delphi 2005和2006,有一个XML
- 德尔福5:不适用
- Delphi6:6.0
- Delphi 7:7.0
1.0
在Delphi 2006中,如下所示:
1.0
因此,我可以查看属性“Type”是否存在,并根据它来决定Delphi2005或2006。
有没有人能看看他的Delphi2005和2006项目,并验证一下这种差异?(或者你有没有更好的主意?)
编辑:我刚刚尝试验证这一点,发现Delphi 2005并不总是添加Type属性。所以现在我被卡住了
编辑:可能存储在那里的GUID对于Delphi版本是唯一的
- 德尔福2005:{87D03616-A4C7-4B5A-AF0F-0164EA60BC59}
- 德尔福2006:{CFE1BEE6-6FDE-4241-8CA5-D38D14EAA768}
\project\PropertyGroup\ProjectVersion
以下是我在.dproj文件中找到的值:
- 德尔福2007:不适用
- 德尔福2009:12.0
- 德尔福2010:12.0
- 德尔福XE:12.3
- Delphi XE2:13.4
以防其他人需要:我刚刚添加了一个总结所有答案并为更新的Delphi版本(目前更新到Delphi 10.4.1)添加信息的文件。项目文件中的版本号不受发布或更新的约束,并且并非所有版本都流行
- Delphi XE RTM使用版本12.2
- Delphi XE Update#1使用12.3版
- Delphi XE2(RTM直到更新#4)使用13.4
- 如果存在.dproj文件->读取\project\PropertyGroup\ProjectVersion
- 空->德尔福2007
- 12.0->Delphi 2009或2010
- 12.2或12.3->Delphi XE1(根据Uwe Schuster)
- 13.4->Delphi XE2
- 如果存在.bdsproj文件->Delphi 2005或2006
- 如果存在.dof文件->读取[FileVersion]\version
- 空->Delphi 5(或可能更早)
- 6.0->Delphi 6
- 7.0->Delphi 7
14.3 XE3(C++&Delphi)今天,我发现这个话题与Delphi版(标准版、专业版、企业版)有关 无论如何,我检查了一些散布在我的机器中的.dof文件,发现了一些与古老的delphi版本相关的事实: 如果存在.dof文件->读取[目录]/Packages 德尔菲3
[Directories]
OutputDir=
UnitOutputDir=
SearchPath=
Packages=VCLX30;VCL30;INETDB30;INET30;
德尔菲5
[Directories]
OutputDir=.
UnitOutputDir=.
PackageDLLOutputDir=.
PackageDCPOutputDir=.
SearchPath=
Packages=Vcl50;Inet50;Inetdb50;Vclx50;Indy50;
可以在dof文件末尾附近找到其他信息:
D3:
D5:
你为什么需要这个?当然你知道你的项目是用哪个版本的Delphi构建的。@DavidHeffernan请看下面我的答案。我建议遵循一个简单的命名约定来清楚地识别特定项目文件的目标Delphi版本。我们把项目文件放在一个子文件夹中。因此,文件夹名称指示要使用的Delphi版本。如果您手动反转更改,则需要使用修订control@DavidHeffernan:对于“手动”,我的意思是单击文件并选择Revert in TortoiseSVN。这并不像实际编辑文件那样困难,但仍然很烦人。顺便说一句:我现在已经解决了这个问题,在项目中添加了一个批处理文件,并在正确的ide中打开了它。单元搜索路径可能会提供一个关于项目链接所针对的编译器版本的提示。这是完整的答案。我本来打算自己创建一个启动器,直到我开始向项目目录添加一个文件,该文件表示要使用哪个Delphi版本。我将文件命名为Delphi(如果只有一个平台:).txt,并在其中保存一个日志,记录对p
[Excluded Packages]
C:\Program Files\Borland\Delphi 3\Bin\DCLDSS30.dpl=Delphi Decision Cube Components
C:\PROGRAM FILES\BORLAND\DELPHI 3\BIN\DCLTEE30.DPL=Delphi TeeChart Components
[Excluded Packages]
$(DELPHI)\Bin\CorIde50.bpl=Borland Core IDE Package
$(DELPHI)\Bin\direct50.bpl=Borland Direct IDE Package