![]() |
|
Модераторы: MetalFan |
![]()
|
|
| winsoft |
|
|||
|
Президент WINsoft Профиль Группа: Участник Сообщений: 49 Регистрация: 14.11.2005 Репутация: нет Всего: нет |
Добрый день! Скажите, пожалуйста, как определить программно наличие у компьютера клиента наличие ActiveX-контрола Gecko (если кто не знает, Gecko - это типа TWebBrowser, только из Mozilla, Firefox и т.д.)?
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 2 Всего: 98 |
если это ActiveX -- он должен ергистрироваться в системе => посмотри какие ProgID/ClsId он пишет в реестр и проверяй их наличие на чужой системе
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| winsoft |
|
|||
|
Президент WINsoft Профиль Группа: Участник Сообщений: 49 Регистрация: 14.11.2005 Репутация: нет Всего: нет |
Гм...
_hunter, а можешь поподробнее рассказать? |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 2 Всего: 98 |
открываеш у себя в реестре HKEY_CLASSES_ROOT\CLSID; ищеш там gecko* (Default-значение ключа ProgId); parent-ом этого ProgId будет GUID вот его наличие нужно будет проверять.
для примера: ProgID -- Microsoft.Office.List.OLEDB.1.0 его GUID -- {252BFDA2-4B21-4872-ABA3-043945949BF8} -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| winsoft |
|
|||
|
Президент WINsoft Профиль Группа: Участник Сообщений: 49 Регистрация: 14.11.2005 Репутация: нет Всего: нет |
Проверял, там Gecko почему-то нет, хотя его я точно устанавливал. И вообще в реестре он не встречается
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 2 Всего: 98 |
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| winsoft |
|
|||
|
Президент WINsoft Профиль Группа: Участник Сообщений: 49 Регистрация: 14.11.2005 Репутация: нет Всего: нет |
Насколько я понимаю, вот это GUID:
А как проверять нличие этого GUID в системе? А то я никогда не работал с такими вещами Это сообщение отредактировал(а) winsoft - 9.11.2006, 17:46 |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 2 Всего: 98 |
привести его к "нормальному" виду:
{1339B54C-3453-11D2-93B9000000000000} и попробовать открыть (RegOpenKey/RegOpenKeyEx) соотв. (HKEY_CLASSES_ROOT\CLSID\{1339B54C-3453-11D2-93B9000000000000}) ключ рееста. если получилось -- Gecko установлен. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| winsoft |
|
|||
|
Президент WINsoft Профиль Группа: Участник Сообщений: 49 Регистрация: 14.11.2005 Репутация: нет Всего: нет |
Спасибо большое!
З.Ы. Хотел [+] поставить, но он не пашет - требует 100 постов |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 12 Всего: 57 |
ты можешь обратиться к модератору раздела с просьбой поднять репу и ссылкой на данный топик |
|||
|
||||
| winsoft |
|
|||
|
Президент WINsoft Профиль Группа: Участник Сообщений: 49 Регистрация: 14.11.2005 Репутация: нет Всего: нет |
Такая штука - при отсутствии Gecko на компьютере программа перестает грузится, говорит: "Класс не зарегистрирован". Как можно обойти эту ошибку и загрузить программу?
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 2 Всего: 98 |
так смысл грузиться -- если движка нет? или это так и задуманно?
проще пользователю сказать "для работы программы необходим Gecko" и показать ему ссылку для скачивания (или с собой инсталятор носить) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| winsoft |
|
|||
|
Президент WINsoft Профиль Группа: Участник Сообщений: 49 Регистрация: 14.11.2005 Репутация: нет Всего: нет |
Так я вот так и хочу - если нет Gecko, то все равно прога должна грузится. А если юзер надмет кнопку "Просмотр через Gecko", то выдать сообщение о том, что нету компонента. Но ведь при загрузке вылетает-то ошибка! Не подскажешь все-таки, как сделать так, чтобы ошибка не вылетала?
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 2 Всего: 98 |
для начала нужно убедится в какой момент падает программа (для этого можно всунуть MessageBox первой строкой в файле проекта). Если при создании формы -- просто выполнять проверку перед созданием и показывать форму без/с контрола. Если пи инициалязации -- проще всего написать проверяющую программу (или переходить на динамику -- CoCreateInstance/QueryInterface ...)
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| triangel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 11.6.2007 Репутация: нет Всего: нет |
А если Gecko на компе не установлен, можно ли как-н это программно сделать. Т.е. зарегить класс... Там по-моему библиотеки в системе зарегистрировать нужно?
|
|||
|
||||
![]()
|
| Правила форума "Delphi: ActiveX/СОМ/CORBA" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |