在Delphi 2007中,我可以使用以下ToolsAPI调用轻松获取当前项目的版本信息:
procedure Test;
var
ProjectOptions: IOTAProjectOptions;
Project: IOTAProject;
Major: Variant;
Minor: Variant;
Release: Variant;
Build: Variant;
begin
// GxOtaGetCurrentProject is a function in GExpert's GX_OTAUtils unit that returns the current IOTAProject
Project := GxOtaGetCurrentProject;
if Assigned(Project) then begin
ProjectOptions := Project.ProjectOptions;
if Assigned(ProjectOptions) then begin
Major := ProjectOptions.Values['MajorVersion'];
Minor := ProjectOptions.Values['MinorVersion'];
Release := ProjectOptions.Values['Release'];
Build := ProjectOptions.Values['Build'];
end;
end;
end;
在Delphi 10.2.3中,无论实际版本号如何,这将始终返回版本1.0.0.0。这是"简单"的情况:一个VCL应用程序。
我还尝试了"Keys"值,它返回TStrings指针。在那里,我也得到了FileVersion字符串,但它始终是"1.0.0.0"。
我猜这与支持各种平台和配置有关,但我找不到任何文档,说明现在应该如何工作。我还搜索了ToolsAPI.pas中的"version"和"release",但没有发现任何可疑的内容。
有什么提示可以告诉我如何在Delphi 10.2中获取版本信息吗?