Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
1-73222
ДЖИН
2002-05-14 23:38
2002.05.23
Класс TStrings


1-73140
Юляша
2002-05-13 15:28
2002.05.23
На другом компьютере программа не работает.


14-73373
ATLANTIDO
2002-04-13 16:08
2002.05.23
LockFile ????


1-73135
RaZEr_
2002-05-13 10:52
2002.05.23
Кто-нибудь поделитесь ieconst.pas


1-73193
tovSuhov
2002-05-09 15:01
2002.05.23
TEdit в ActiveX форме...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский