Форум: "Основная";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];
ВнизКак узнать из файла ресурсов верссию проекта? Найти похожие ветки
← →
^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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c