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

Вниз

Наименование продукта   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
2-1194290214
olegusis
2007-11-05 22:16
2007.12.02
ПРОЦЕДУРЫ


15-1194176020
Evanescence
2007-11-04 14:33
2007.12.02
С жестким диском проблемы


15-1193987752
Still Swamp
2007-11-02 10:15
2007.12.02
Где добыть интерпритатор матвыражений?


2-1194007806
MZ_Organize
2007-11-02 15:50
2007.12.02
раскалдка с англ. на рус. и с рус. на анлг


15-1193809034
Flexer
2007-10-31 08:37
2007.12.02
Установка DevExpress на Delphi 7