我需要使用最新的 Indy 组件库版本。我可以通过一些源代码命令或任何其他技巧来获取库版本,以确保我使用的是正确的库。我知道我正在使用indy....160.bpl
- 这是我的 Delphi XE2 在将鼠标移到组件栏上时所说的。我从Fulgan Indy获取的最新 INDY 库
2 回答
如何在运行时使用 Indy 组件获取 Indy 版本?
正如@Remy 在他的评论中指出的那样,您可以使用该Version
属性从任何 Indy 组件中获取 Indy 版本。这是使用TIdHTTP
组件的示例:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Indy version: ' + IdHTTP1.Version);
end;
如何在运行时获取没有 Indy 组件的 Indy 版本?
您可以获取 Indy 版本控制格式的整个版本字符串:
<major>.<minor>.<release>.<build>
从包含在单元中gsIdVersion
的文件中定义的常量,如下所示:IdVers.inc
IdGlobal.pas
uses
IdGlobal;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Indy version: ' + gsIdVersion);
end;
或者如果您至少从 2012 年 10 月 25 日 (4850) 开始有 Indy 修订版,您可以使用单独的版本信息元素,这些信息元素在前面提到的同一个包含文件中定义,例如:
uses
IdGlobal;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Indy version: ' +
IntToStr(gsIdVersionMajor) + '.' +
IntToStr(gsIdVersionMinor) + '.' +
IntToStr(gsIdVersionRelease) + '.' +
IntToStr(gsIdVersionBuild)
);
end;
如何在设计时获取 Indy 版本?
要在设计时获得 Indy 版本,您只需右键单击放置在表单上的任何 Indy 组件,然后通过菜单项打开其About
框。About Internet Direct (Indy)...
版本信息在哪里定义?
正如我之前提到的,它位于库文件夹中IdVers.inc
存储的包含文件中..\Lib\System\
,它可能是如何获取 Indy 版本信息的下一个选项。
免责声明
这里提到的一些内容目前适用于 Indy 的最新版本,但我不确定它是否也适用于所有旧版本(例如 Indy 9)。
如果你的应用程序已经有一个 Indy 组件的实例(它继承了 TIdBaseComponent),你可以简单地通过
Version := SomeIndyComponent.Version;
在当前版本中,此函数将返回10.5.9.0