Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
ВнизНаименование продукта Найти похожие ветки
← →
Lera (2007-11-07 13:00) [0]Доброго дня, подскажите пожалуйста как программно (не используя RxLib) можно получить содержимое поля ProductName и другие значения полей, которые находится по пути Project/Options на закладке Version Info. Заранее спасибо.
← →
Reindeer Moss Eater © (2007-11-07 13:03) [1]как программно (не используя RxLib)
1. Поставить RX и посмотреть как это делает он
2. Запомнить как это делается.
3. Удалить RX.
4. Сделать то же самое в своем коде.
← →
Lera (2007-11-07 13:04) [2]просто Rx глючит
← →
korneley © (2007-11-07 13:05) [3]
function GetMyVersion(DigitNum: integer): integer;
var a : array[0..1024]of char;
w, Size,ww : DWORD;
lpData, p : pointer;
wi : tagVS_FIXEDFILEINFO;
begin
Result := 0;
ww := DWORD(addr(w));
Size := GetFileVersionInfoSize(StrPCopy(a, Application.ExeName), ww);
if Size > 0 then begin
GetMem(lpData, Size);
try
if GetFileVersionInfo(a, ww, Size, lpData) then begin
p := addr(wi); Size := sizeof(wi);
if VerQueryValue(lpData, "\", p, Size)then begin
wi := tagVS_FIXEDFILEINFO(p^);
case DigitNum of
1:Result := wi.dwFileVersionMS shr 16;
2:Result := wi.dwFileVersionMS and $0000FFFF;
3:Result := wi.dwFileVersionLS shr 16;
4:Result := wi.dwFileVersionLS and $0000FFFF;
end;
end;
end;
finally
FreeMem(lpData, Size);
end;
end;
end;
Не помню откуда "выдрал", но цифру версии выдает исправно...
← →
Reindeer Moss Eater © (2007-11-07 13:06) [4]просто Rx глючит
Это только кажется
← →
Lera (2007-11-07 13:14) [5]прм обращении к AppVerInfo.CompanyName, где AppVerInfo: TVersionInfo происходит лиагностика "Access violation"
← →
Reindeer Moss Eater © (2007-11-07 13:16) [6]Все верно
← →
Reindeer Moss Eater © (2007-11-07 13:18) [7]var Button : TButton;
begin
Button.Caption := "а баттон-то тоже оказывается глючит?";
...
← →
Ega23 © (2007-11-07 13:18) [8]
unit RxVerInfo
.......
procedure TVersionInfo.ReadVersionInfo;
begin
FValid := False;
FSize := GetFileVersionInfoSize(FFileName, FHandle);
if FSize > 0 then
try
FBuffer := MemAlloc(FSize);
FValid := GetFileVersionInfo(FFileName, FHandle, FSize, FBuffer);
except
FValid := False;
raise;
end;
end;
← →
Reindeer Moss Eater © (2007-11-07 13:20) [9]unit RxVerInf;
...
function AppVerInfo: TVersionInfo;
begin
Result := TVersionInfo.Create(AppFileName);
end;
...
unit unit1;
....
with AppVerInfo(ParamStr(0)) do
try
ShowMEssage(ProductName);
finally
Free;
end;
← →
Reindeer Moss Eater © (2007-11-07 13:31) [10]Точнее так
with AppVerInfo do
try
FileName := ParamStr(0);
ShowMessage(ProductName);
finally
Free;
end;
← →
Lera (2007-11-07 13:33) [11]все равно access. Видимо RxLib глючная
← →
Reindeer Moss Eater © (2007-11-07 13:37) [12]И не говори подружка. Баттон-то из моего примера тоже поди глючит?
← →
Ega23 © (2007-11-07 13:57) [13]
> все равно access. Видимо RxLib глючная
жжош!
← →
Amoeba © (2007-11-07 14:01) [14]Можно еще посмотреть другой компонент по этой ссылке:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=13
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.048 c