Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

версия exe-шника [D5]


Страницы:   1 2

patrol ©   (2003-01-10 14:11:00) 

Подскажите чайнику, как вытащить версию exe-шника, чтобы разместить еe в форме About?


Игорь Шевченко   (2003-01-10 15:49:00) [21]

Delirium^.Tremens © (10.01.03 15:37)

Ты будешь удивлен, но на версии D7 два раза Project|Build при установленном флажке AutoIncrement Build number увеличивает Build получившегося файла как при изменениях в проекте, так и без них.

Так что не надо про Borland говорить:

> Это вопрос к Borland. Видимо autoincrement срабатывает только
> в случае достаточно серьезных изменений. Даже если навалить
> компонентов на формы, но не написать обработчиков - счетчик
> не увеличится. Не нравится - можно ручками :-)


patrol   (2003-01-10 15:49:00) [22]

Ладно, хватит, спорить.
Так можно подвести итог?
Почему не увеличивается счетчик? Неужели ни у кого таких проблем не было? Только у меня что-ли? Типа у чайников всегда так?
Он увеличивается только при серьезных изменениях?
Повторюсь: просто Build или Compile на него не действуют. Только после удаления процедуры он у меня со скрипом увеличился один раз и все!


Игорь Шевченко   (2003-01-10 15:42:00) [23]

Delirium^.Tremens © (10.01.03 15:37)

Надо глянуть, однако на D7...Под рукой нету :-)


Delirium^.Tremens   (2003-01-10 15:37:00) [24]

Игорь Шевченко © (10.01.03 15:35)
> Версию Delphi в заголовочке темы видел ? :-) [D5]

Видел, так что теперь D5 покупать и устанавливать?
А.... знаю: не высовываться?


Игорь Шевченко   (2003-01-10 15:35:00) [25]

Delirium^.Tremens © (10.01.03 15:32)

Версию Delphi в заголовочке темы видел ? :-) [D5]

patrol © (10.01.03 15:32)

Нечего на зеркало пенять, однако :-)


Delirium^.Tremens   (2003-01-10 15:32:00) [26]

>>Игорь Шевченко © (10.01.03 15:06)
>>Anatoly Podgoretsky © (10.01.03 15:06)
Я, прежде чем отвечать - попробовал все эти варианты (траву не курил). Специально сделал сноску на D7... Да знаю я и про Help и про Build, но ведь видел. Перезагрузил D - поведение в норме. Так что, patrol, делайте Build.


patrol   (2003-01-10 15:32:00) [27]

ЭТО КРИК ДУШИ!
Мне говорили, что в Delphi все легко, просто, а главное быстро (в смысле разработка, конечно).
Да ни фига!
Пока по крайней мере никто из знатоков не смог дать мне таких ответов на мои вопросы, чтобы мне стало приятно. Все через задницу! Такие элементарные вещи! И все либо ручками, либо ваще никто не знает, как сделать. Просто кошмар!
То ли специалисты такие здесь сидят. Ради бога не сочтите за неуважение. Но вот такое у меня впечатление.


Anatoly Podgoretsky   (2003-01-10 15:27:00) [28]

Сурово ты с Паскалем :-)


Alx2   (2003-01-10 15:22:00) [29]

>patrol © (10.01.03 15:18
>И вообще, с каждым днем все больше и больше убеждаюсь, что
>Delphi ваш вместе с Паскалем такое дерьмо! Я так думала 5 лет
>назад. И все-таки жизнь меня заставила с этим связаться. Мое
>мнение не изменилось.

Вы просто не умеете их готовить (с) :)


patrol   (2003-01-10 15:18:00) [30]

Игорь Шевченко, насчет галки я в самом начале написала, что она включена.
А вот теперь, наверное, я склонна верить Delirium^.Tremens в том, что счетчик увеличивается только при серьезных изменениях. Наверное, оно и правильно. Хотя интересно знать, что Borland в таком случае понимает под серьезными изменениями. Лично для меня они серьезные (что я делаю), а он так почему-то не считает. Это неуважение к разработчику.

И вообще, с каждым днем все больше и больше убеждаюсь, что Delphi ваш вместе с Паскалем такое дерьмо! Я так думала 5 лет назад. И все-таки жизнь меня заставила с этим связаться. Мое мнение не изменилось.


Delirium^.Tremens   (2003-01-10 15:06:00) [31]

Это вопрос к Borland. Видимо autoincrement срабатывает только в случае достаточно серьезных изменений. Даже если навалить компонентов на формы, но не написать обработчиков - счетчик не увеличится. Не нравится - можно ручками :-)


Anatoly Podgoretsky   (2003-01-10 15:06:00) [32]

Build <> Compile
А галочка нащывается Build, вот его и надо делать.

Что то тебе не хочется верить Delirium^.Tremens © (10.01.03 14:53), неужели Борланд такую лажу допустил в 7 версии


Игорь Шевченко   (2003-01-10 15:06:00) [33]

Delirium^.Tremens © (10.01.03 14:53)

Внимательно и вдумчиво читаем Help:

Check Auto-increment build number to have the build number incremented each time the Project | Build <Project> menu is
selected. (Other compilations do not change the build number.)

После этого пробуем два раза выполнить команду Project|Build имя_проекта, c включенной гайкой Auto-Increment Build Number, после каждого раза отображая версию.

И больше такую траву (Delirium^.Tremens © (10.01.03 14:49)) не курим :-)

С уважением,


patrol   (2003-01-10 15:01:00) [34]

Ну во-первых, я-девушка.
Delirium^.Tremens ©, и че так каждый раз перед построением удалять процедуры? Оно помогает, конечно, я попробовала.
А вот просто Build или Compile счетчик не увеличивают. Почему?


Delirium^.Tremens   (2003-01-10 14:53:00) [35]

Игорь Шевченко © (10.01.03 14:51)

> Project|Build ...

Если не Delirium^.Tremens © (10.01.03 14:49) - не поможет, а так достаточно и Compile


Игорь Шевченко   (2003-01-10 14:51:00) [36]

patrol © (10.01.03 14:41)

Project|Build ...


Delirium^.Tremens   (2003-01-10 14:49:00) [37]

А ты добавь(удали) процедуру(функцию) в каком-нибудь модуле, скомпилируй и посмотри. В D7 работает.


Anatoly Podgoretsky   (2003-01-10 14:49:00) [38]

А почему он должен увеличиваться, что ты для этого сделал?


patrol   (2003-01-10 14:41:00) [39]

Спасибо! Оно работает.
Мне еще не понятно, почему Build Counter при формировании exe-шника не увеличивается. Соответствующая галочка стоит на месте.


Игорь Шевченко   (2003-01-10 14:23:00) [40]

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 begin
GetFileVersion(Application.ExeName, VersionMajor, VersionMinor,
Release, BuildNumber);
cVersion.Caption := Format("Версия: %d.%d.%d (сборка %d)",
[VersionMajor, VersionMinor, Release, BuildNumber]);
end;
end;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо