Использование автономерации версий
Модератор: Модераторы
- GAMER
- энтузиаст
- Сообщения: 627
- Зарегистрирован: 06.08.2008 13:41:07
- Откуда: Ужгород-Днепр, Украина
- Контактная информация:
Использование автономерации версий
Использую автономерацию билдов. Подскажите, как номер версии-билда можно интегрировать в программу. Например, чтобы она выводилась в заголовке окна.
Только чтением из ресурса exe файла информации о версии.
Добавлено спустя 35 секунд:
Но это только в Windows!
Код: Выделить всё
function GetFileVersionStr(const AFileName:string): String;
var
buf : array[0..3071] of byte;
bufp : pointer;
fn : string;
valsize,
size : DWORD;
h : DWORD;
valrec : PVSFixedFileInfo;
M,L: DWORD;
begin
result:='';
M:=0;
L:=0;
fn:=AFileName;
UniqueString(fn);
size:=GetFileVersionInfoSize(pchar(fn),@h);
if size>sizeof(buf) then
begin
getmem(bufp,size);
try
if GetFileVersionInfo(pchar(fn),h,size,bufp) then
if VerQueryValue(bufp,'\',valrec,valsize) then
begin
M:=valrec^.dwFileVersionMS;
L:=valrec^.dwFileVersionLS;
end
finally
freemem(bufp);
end;
end
else
begin
if GetFileVersionInfo(pchar(fn),h,size,@buf) then
if VerQueryValue(@buf,'\',valrec,valsize) then
begin
M:=valrec^.dwFileVersionMS;
L:=valrec^.dwFileVersionLS;
end
end;
Result:=Format('%d.%d.%d.%d',[M shr 16,M and $FF,L shr 16,L and $FF])
end;Добавлено спустя 35 секунд:
Но это только в Windows!
Пишешь код вида
и в s версия файла вида x.x.x.x
Добавлено спустя 32 секунды:
тоесть натравливаешь функцию на exe файл...
Код: Выделить всё
var
s: String;
....
s:=GetFileVersionStr(ParamStr(0));
...
и в s версия файла вида x.x.x.x
Добавлено спустя 32 секунды:
тоесть натравливаешь функцию на exe файл...
Может уже и для gtk2 что-то сделали? rc-файл создается... Но как добраться до FileVersion, чтоб в About форме показать?
Для не Виндос приложений делаю вот так:
создаю файл version.inc содержащим строку вида
а в коде где нужно использую вставку
p.s. конечно некакой тут автонумерицией не пахнет (версию меняешь в ручную) зато независит от платформы ....
создаю файл version.inc содержащим строку вида
Код: Выделить всё
'1.1.0.4'а в коде где нужно использую вставку
Код: Выделить всё
Caption:={$I version.inc}p.s. конечно некакой тут автонумерицией не пахнет (версию меняешь в ручную) зато независит от платформы ....
