Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.047 c
3-1184674956
Циркуль
2007-07-17 16:22
2007.12.02
BDE, TTable, TQuery, TBatchMove, ошибка "Table is full"


2-1194685836
Виктор007
2007-11-10 12:10
2007.12.02
Настройки программы


2-1194270848
Destroyer
2007-11-05 16:54
2007.12.02
Как узнать запущено ли приложение или нет?


2-1194456145
NaRuTo
2007-11-07 20:22
2007.12.02
Как сделать так чтобы числа не повторялись.


6-1175189724
проходивший мимо
2007-03-29 21:35
2007.12.02
передать файлы через сеть





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