Вниз
Скачать: CL | DM;

Как узнать текущий номер билда?   Найти похожие ветки 

 
kaif ©   (2004-04-20 05:23) [0]

Имеется программа. Хочется, чтобы она номер своего билда в AboutBox-е высвечивала. Есть какая-нибудь функция, чтобы узнать номер билда? Или хотя бы кто-нибудь знает, как обратиться к нему, как к ресурсу (знает имя ресурса)? Предполагается, что в свойствах проекта установлено "включать информацию о версии в EXE-файл".


 
Danilka ©   (2004-04-20 08:50) [1]

Если не ошибаюсь, через ВинАПИ процедуру: GetFileVersionInfo, а дальше - анализировать то, что она вернет.


 
Игорь Шевченко ©   (2004-04-20 10:57) [2]

 procedure GetFileVersion(FileName: string; var Major1, Major2,
                Minor1, Minor2: Integer);
 { Helper function to get the actual file version information }
 var
   Info: Pointer;
   InfoSize: DWORD;
   FileInfo: PVSFixedFileInfo;
   FileInfoSize: DWORD;
   Tmp: DWORD;
 begin
   // Get the size of the FileVersionInformatioin
   InfoSize := GetFileVersionInfoSize(PChar(FileName), Tmp);
   // If InfoSize = 0, then the file may not exist, or
   // it may not have file version information in it.
   if InfoSize = 0 then
     raise Exception.Create("Can""t get file version information for "
                    + FileName);
   // Allocate memory for the file version information
   GetMem(Info, InfoSize);
   try
     // Get the information
     GetFileVersionInfo(PChar(FileName), 0, InfoSize, Info);
     // Query the information for the version
     VerQueryValue(Info, "\", Pointer(FileInfo), FileInfoSize);
     // Now fill in the version information
     Major1 := FileInfo.dwFileVersionMS shr 16;
     Major2 := FileInfo.dwFileVersionMS and $FFFF;
     Minor1 := FileInfo.dwFileVersionLS shr 16;
     Minor2 := FileInfo.dwFileVersionLS and $FFFF;
   finally
     FreeMem(Info, FileInfoSize);
   end;
 end;


var
 VersionMajor: Integer;
 VersionMinor: Integer;
 Release, BuildNumber: Integer;
begin
...
   GetFileVersion(ParamStr(0), VersionMajor, VersionMinor, Release, BuildNumber);
...


 
kaif ©   (2004-04-22 14:37) [3]

2 Игорь Шевченко ©   (20.04.04 10:57) [2]
Спасибо. Хотя уже сам дошел, копая MS SDK, а потом - модуль Windows. :)
Но все равно спасибо!
Ваш код изящнее. Я определил лишнюю структуру из 2 слов, чтобы не делать сдвиги.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
14-1078687570
Piter
2004-03-07 22:26
2004.04.11
Узнаем ли мы когда-нибудь правду?


1-1079730463
Mirror
2004-03-20 00:07
2004.04.11
MDI


1-1079950125
Эдуард
2004-03-22 13:08
2004.04.11
Как в disign-time е отловить факт изменения размеров формы?


14-1081796904
Knight
2004-04-12 23:08
2004.04.11
72 метра


1-1080300539
Ev1972
2004-03-26 14:28
2004.04.11
Как отследить клик за пределами модального окна?




   Наверх