Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: 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 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
1-1079711664
alex732
2004-03-19 18:54
2004.04.11
ListView1.Canvas


1-1082946109
Женя
2004-04-26 06:21
2004.04.11
как удалить все файлы из каталога ?


14-1082143031
juiceman
2004-04-16 23:17
2004.04.11
Я так устал...


14-1082108227
.Lex
2004-04-16 13:37
2004.04.11
Соундтрек из "Бедной Насти"


14-1079824599
GetIt
2004-03-21 02:16
2004.04.11
ADOConnection