Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.23;
Скачать: CL | DM;

Вниз

Версия проекта   Найти похожие ветки 

 
sammy   (2002-05-14 09:06) [0]

Помогите пожалуста разобраться с установкой версии.
У меня конкретно 2 вопроса:

1) где выставляется флаг Auto Increment для автоматического
увеличения версии проекта на каждом билде?

2) как достать версии моего проекта во время выполнения?
minor, major, Revision


 
Игорь Шевченко ©   (2002-05-14 10:18) [1]

День добрый,

1) В Project Options/Version Info. Хранится этот флаг, разумеется
в .dof файле для проекта:
[Version Info]
IncludeVerInfo=1
AutoIncBuild=1


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
Major1 := 0;
Major2 := 0;
Minor1 := 0;
Minor2 := 0;
// 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
Exit;
// 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
if FileExists(Application.ExeName) then
GetFileVersion(Application.ExeName, VersionMajor,
VersionMinor, Release, BuildNumber);
....


С уважением,


 
sammy   (2002-05-14 10:33) [2]

Спасибо большое!
Вы мне очень помогли!


 
sammy   (2002-05-14 10:42) [3]

Sorry, еще небольшой вопросик:
узнавать версию по "эгзе" файлу умею
Меня интересовала возможность
внутренним способом узнать версию.
Например как в визульном бесике:

Label1.Caption = "Версия: " & App.Major &
"." & App.Minor & "." & App.Revision

так вот, существует ли такая возможность?


 
Игорь Шевченко ©   (2002-05-14 11:13) [4]

День добрый,

Угу, существует. Из EXE-файла. :-)
Так как на этапе выполнения программы имеется EXE-файл с информацией о версии программы :-)

С уважением,


 
sammy   (2002-05-14 11:21) [5]

:) Ясно. Теперь догнался!
Ещо раз спасибо!



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-73112
jenbbond
2002-05-13 11:04
2002.05.23
Помогите с ошибкой


1-73271
no_login
2002-05-11 00:37
2002.05.23
Деловое предложение! Есть такой модуль... windows.pas...


1-73265
djdfy
2002-05-08 21:21
2002.05.23
курсор в TRichEdit


3-73010
YPS
2002-04-17 16:15
2002.05.23
Упаковка базы Ассеss 2000


3-73039
rvs1
2002-04-26 16:01
2002.05.23
Dbgrid ---- пустая дата=01.01.0001