我可以检查安装的Indy版本吗?

use*_*184 7 delphi indy delphi-xe2

我需要使用最新的Indy组件库版本.我可以通过一些源代码命令或任何其他技巧来获取库版本,以确保我使用正确的库.我知道我正在使用indy....160.bpl- 这是我的Delphi XE2在将鼠标移到组件栏上时所说的.我从Fulgan Indy采取的最新INDY lib

TLa*_*ama 15

如何在运行时使用Indy组件获取Indy的版本?

正如@Remy在他的评论中指出的那样,你可以使用该Version属性从任何Indy组件中获取Indy版本.这是使用TIdHTTP组件的示例:

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('Indy version: ' + IdHTTP1.Version);
end;
Run Code Online (Sandbox Code Playgroud)

如何在运行时获得没有Indy组件的Indy版本?

您可以使用Indy的版本控制格式获取整个版本字符串:

<major>.<minor>.<release>.<build>
Run Code Online (Sandbox Code Playgroud)

从包含在单元gsIdVersion中的IdVers.inc文件中定义的常量,IdGlobal.pas方式如下:

uses
  IdGlobal;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('Indy version: ' + gsIdVersion);
end;
Run Code Online (Sandbox Code Playgroud)

或者如果您至少从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;
Run Code Online (Sandbox Code Playgroud)

如何在设计时获得Indy的版本?

要在设计时获得Indy版本,您只需右键单击放在表单上的任何Indy组件,然后About通过About Internet Direct (Indy)...菜单项打开其框.

版本信息在哪里定义?

正如我之前提到的,它IdVers.inc存储在..\Lib\System\库的文件夹中的包含文件中,它可能是如何获取Indy版本信息的下一个选项.

放弃

这里提到的一些内容适用于Indy目前的最新版本,但我不确定它是否也适用于所有旧版本(例如Indy 9).