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

Вниз

Как узнать из файла ресурсов верссию проекта?   Найти похожие ветки 

 
^Sanya ©   (2002-08-08 17:36) [0]

Ведь она там хранится...
Заранее благодарен.


 
Skier ©   (2002-08-08 17:39) [1]

>^Sanya
В RX есть класс TVersionInfo


 
^Sanya ©   (2002-08-08 20:56) [2]

Прошу прощения, а что есть за чудо такое - "RX"?
Я искал "TVersionInfo" как текст в папочке "Source"...увы, не нашёл :(
Помогите, пожалуйста. Заранее благодарю.


 
TTCustomDelphiMaster ©   (2002-08-08 21:48) [3]

^Sanya © (08.08.02 17:36)
Смотри в ComCtrls функцию
function GetComCtlVersion: Integer;


 
Poirot ©   (2002-08-08 21:48) [4]

посмотри здесь в ФАках... там есть что-то о получении версии...
Кстати получить версию из ресурса - это интересно.... Вы посмотрите напр через Resource WorkShop что собой представляет эта запись....
Кстати, ресурс включается в конечный комп. файл проекта - зачем же через ресурс получать версию???


 
^Sanya ©   (2002-08-08 23:01) [5]

->Poirot
Позволю себе цитату из классики:
GetComCtlVersion function -"indicates which version of ComCtl32.dll is installed." Причём тут версия проекта(или приложения, если угодно) ?


 
Юрий Зотов ©   (2002-08-08 23:24) [6]

> ресурс включается в конечный комп. файл проекта - зачем же
> через ресурс получать версию

Как раз оттуда ее и получают - из ресурса в теле exe/dll.


> Причём тут версия проекта(или приложения, если угодно)?

При том, что надо взять GetComCtlVersion за образец и написать свою такую же функцию.


 
^Sanya ©   (2002-08-09 00:00) [7]

> При том, что надо взять GetComCtlVersion за образец и написать свою такую же функцию.

А более простого решения проблемы не существует?


 
^Sanya ©   (2002-08-09 00:02) [8]

Кстати, а через GetFileVersionInfo не получится?


 
Юрий Зотов ©   (2002-08-09 00:14) [9]

> Кстати, а через GetFileVersionInfo не получится?
Получится. Насколько я помню, GetComCtlVersion через нее и работает.


> А более простого решения проблемы не существует?
Скопировать к себе код GetComCtlVersion и подправить пару строк - куда же еще проще-то?


 
^Sanya ©   (2002-08-09 00:36) [10]

Нашёл выход:

procedure GetFileVersion(FileName: string; var Major1, Major2,
Minor1, Minor2: Integer);
var
Info: Pointer;
InfoSize: DWORD;
FileInfo: PVSFixedFileInfo;
FileInfoSize: DWORD;
Tmp: DWORD;
begin
InfoSize := GetFileVersionInfoSize(PChar(FileName), Tmp);
if InfoSize = 0 then
raise Exception.Create("Can""t get file version information for "
+ FileName);
GetMem(Info, InfoSize);
try
GetFileVersionInfo(PChar(FileName), 0, InfoSize, Info);
VerQueryValue(Info, "\", Pointer(FileInfo), FileInfoSize);
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;


 
Poirot ©   (2002-08-09 01:27) [11]


> Юрий Зотов © (08.08.02 23:24)
> > ресурс включается в конечный комп. файл проекта - зачем
> же
> > через ресурс получать версию
>
> Как раз оттуда ее и получают - из ресурса в теле exe/dll.

Я предполагал, что под ресурсом подр. RES(RC)... т.е. оттедльный файл....



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

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

Наверх




Память: 0.49 MB
Время: 0.043 c
1-60741
Rasa
2002-08-06 02:59
2002.08.19
Полупрозрачность...


8-60752
Smok_er
2002-04-02 22:18
2002.08.19
Создание AVI из графических файлов


6-60764
neodiX
2002-06-04 12:28
2002.08.19
Это действительно проблема!


8-60753
Fast
2002-04-11 11:54
2002.08.19
Я что-то упустил.


14-60862
kaif
2002-07-23 11:54
2002.08.19
Как настроить среду?