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

Вниз

прочитать версию о файле   Найти похожие ветки 

 
КомофОнСамый   (2004-01-28 20:04) [0]

где может быть ошибка??

type
{$M+}
//заставляет Delphi включать в код RTTI-информацию для
//перечислимых типов. В основном допускает работу с перечислимыми
//типами как со строками с помощью GetEnumName
TVersionType = (vtCompanyName,
vtFileDescription,
vtFileVersion,
vtInternalName,
vtLegalCopyright,
vtLegalTradeMark,
vtOriginalFileName,
vtProductName,
vtProductVersion,
vtComments);
{$M-}
function GetVersionInfo(VersionType: TVersionType):string;
var
FVersionInfo: array[0..Ord(high(TVersionType))] of string;
sAppName, sVersionType: string;
iAppSize, iLenOfValue, i: Cardinal;
pcBuf, pcValue: PChar;
begin
sAppName:=Application.ExeName;
iAppSize:=GetFileVersionInfoSize(PChar(sAppName), iAppSize);
if(iAppSize>0)then
begin
pcBuf:=AllocMem(iAppSize);
GetFileVersionInfo(PChar(sAppName), 0, iAppSize, pcBuf);
for i:=0 to Ord(High(TVersionType)) do
begin
sVersionType := GetEnumName(TypeInfo(TVersionType), i);
sVersionType := Copy(sVersionType, 3, length(sVersionType));
if(VerQueryValue(pcBuf,
PChar("StringFileInfo\040904E4\"+sVersionType),
Pointer(pcValue),
iLenOfValue))then FVersionInfo[i]:=pcValue;
end;
FreeMem(pcBuf, iAppSize);
end;
result := FVersionInfo[ord(VersionType)];
end;



 
baataar   (2004-01-29 11:43) [1]

что никто не использует версионность? мож у кого есть другой пример??


 
icWasya   (2004-01-29 12:05) [2]

if(VerQueryValue(pcBuf,
PChar(" \StringFileInfo\040904E4\"+sVersionType),
Pointer(pcValue),
iLenOfValue))then FVersionInfo[i]:=pcValue;


 
baataar   (2004-01-29 12:35) [3]

не помогает :(
а у когонить работает?


 
Erik   (2004-01-29 12:56) [4]

У меня все прекрасно уже год работает. Ты в самом проекте галочку поставил? И заполнил инвормацию о версии?
Я так делал:
function GetCurrentVersion(const FileName: string): Int64;
var
Info: Pointer;
Temp,
InfoSize,
FileInfoSize: DWORD;
FileInfo: PVSFixedFileInfo;
CurFile: string;
begin
Result := 0;
CurFile := LowerCase(FileName);
InfoSize := GetFileVersionInfoSize(PChar(CurFile), Temp);
if InfoSize > 0 then
begin
GetMem(Info, InfoSize);
FileInfoSize := SizeOf(FileInfo^);
try
GetFileVersionInfo(PChar(CurFile), 0, InfoSize, Info);
VerQueryValue(Info, "\", Pointer(FileInfo), FileInfoSize);
with FileInfo^ do
begin
Result := dwFileVersionMS;
Result := Result shl 32;
Result := Result + dwFileVersionLS;
end;
finally
FreeMem(Info, InfoSize);
end;
end;
end;


 
baataar   (2004-01-29 13:28) [5]

младшую версию нормально узнал (dwFileVersionLS). а вот старшую нет.

посмотрел FileInfo^ - там ничего похожева нету. а сдвиг дал вообще цифирю очень большую



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

Форум: "Основная";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
14-29519
Думкин
2004-01-22 05:54
2004.02.10
С днем рождения! 22 января.


4-29658
Doomin
2003-12-05 11:08
2004.02.10
замена ввода в консольном приложении


4-29675
Neznaika
2003-12-03 20:45
2004.02.10
Корзина


14-29575
alxx
2004-01-14 10:57
2004.02.10
Кто-нибудь подключал КПК через ИК GPRS к мегафону?


7-29629
Floppy
2003-11-24 10:08
2004.02.10
Расшарить ресурс на своем компе для пользователей локальной сети





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский