Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить версию ActiveX компонента [D6, Win2k, WinXP]


reach ©   (2002-09-02 12:41:00) 

в среде delphi есть возможность включения информации о версии проекта (Project)
так вот! для exe файла я делаю так

var
S: string;
n, Len: DWORD;
Buf: PChar;
Value: PChar;
begin
S := Application.ExeName;
n := GetFileVersionInfoSize(PChar(S), n);
if n > 0 then begin
Buf := AllocMem(n);
GetFileVersionInfo(PChar(S), 0, n, Buf);
if VerQueryValue(Buf, PChar("StringFileInfo\041904E3\FileVersion"), Pointer(Value), Len) then
FreeMem(Buf, n);
end;

после выполнения этого кода переменная Value содержит версию в формате x.x.x.x

но жля ocx компонента который в последующем вызывается из браузера (например IE) этот вариант не работает!
и это понятно потому что
S := Application.ExeName;
дает вместо пути/имени OCX путь/имя выполнимого файла моего браузера
-----------------
так вот, народ, может у когонить возникала такая проблема?
поделитесь опытом плиз


reach   (2002-09-05 12:43:00) [1]

большое спасибо!
все разобрался
работает


Набережных С.   (2002-09-03 17:48:00) [2]

Вместо S := Application.ExeName :

SetLength(s,255);
if GetModuleFileName(hInstance,PChar(S),255) = 0 then RaiseLast...


reach   (2002-09-03 16:56:00) [3]

Хм
да! я думаю это то!
-------------
но
из хелпа вот что видно
....This function is not available on Windows.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

как сие понимать?

и второе
а как вызывать эту функцию?
что такое Module: HMODULE; и де это брать?
сори за чайниковский вопрос ;)




Набережных С.   (2002-09-02 16:10:00) [4]

GetModuleFilename?


Наверх

Титульная страница Поиск, карта сайта Написать письмо