powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проверка наличия компонента в системе.
8 сообщений из 8, страница 1 из 1
Проверка наличия компонента в системе.
    #36038908
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть необходимость проверки наличия компонента в системе (dll). Смотрел топик Как при старте проги проверить наличие библиотек-компонентов и т.п. в системе? Немного не то, что мне надо.
Нашел утверждение, что для этого достаточно перебрать в реестре ветку
Код: plaintext
HKCR\\CLSID\\{clsid}\\InprocServer32\\
Нашел вот такой код
Код: plaintext
Function regfile()\nDim fso As Object\nDim WshShell As Object\n   Set fso = CreateObject("Scripting.FileSystemObject")\n   Set WshShell = CreateObject("WScript.Shell")\n   WshShell.Run "regedit /e c:\\RegDll.txt HKEY_CLASSES_ROOT\\CLSID\\",  1 , True\nEnd Function\n
Файл с ключами создается. Но его объем достигает нескольких мегабайт и возиться с ним удовольствие ниже среднего. Если у меня есть название конкретного dll ( rvkwnr.dll ), как проверить, что он есть в системе?
...
Рейтинг: 0 / 0
Проверка наличия компонента в системе.
    #36038941
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Joss
> Если у меня есть название конкретного dll (rvkwnr.dll), как проверить, что он есть в системе?

Самое простое, это сделать CreateObject("Имя нужного объекта") и по результату смотреть, что и как


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проверка наличия компонента в системе.
    #36038952
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не хотелось делать проверку через Error
Кстати, тут ведь надо наверно подставлять не имя элемента, а что-то другое, как здесь
Код: plaintext
1.
2.
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set WshShell = CreateObject("WScript.Shell")
И как определить, что?

==================================================================
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?
...
Рейтинг: 0 / 0
Проверка наличия компонента в системе.
    #36038963
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Joss
> Не хотелось делать проверку через Error

А в чем проблема-то?

> Кстати, тут ведь надо наверно подставлять не имя элемента, а что-то другое, как здесь
>
> Set fso = CreateObject("Scripting.FileSystemObject")
> Set WshShell = CreateObject("WScript.Shell")
> И как определить, что?

Не понял вопрос


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проверка наличия компонента в системе.
    #36038984
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь ГорбоносНе понял вопрос
Что надо писать в двойных кавычках? Что надо подставить сюда вместо вопросов?
Код: plaintext
1.
2.
   Dim RVK As Object
   Set RVK = CreateObject(" ??? ")
...
Рейтинг: 0 / 0
Проверка наличия компонента в системе.
    #36038999
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Joss
> Игорь Горбонос
> Не понял вопрос
>
> Что надо писать в двойных кавычках? Что надо подставить сюда вместо вопросов?


Дык откуда-ж я знаю, это ты знаешь что находится в rvkwnr.dll и что тебе нужно для работы.
Ты же не идешь от обратного и не проверяешь наличие записей в реестре об scrrun.dll, а сразу пишешь
Код: plaintext
1.
2.
Dim fso As 
Object
Set fso = CreateObject("Scripting.FileSystemObject")


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проверка наличия компонента в системе.
    #36039042
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так этож я взял из документации.
Код: plaintext
1.
2.
   Dim fso As Object
   Set fso = CreateObject("Scripting.FileSystemObject")
А на мой rvkwmr.dl l такой документации нет. Впрочем я пересмотрел реестр и нашел имя ветку

Код: plaintext
1.
2.
[HKEY_CLASSES_ROOT\CLSID\\{9F31F6E9-3413-454D-A3A8-FB7E17A696C2}]
@="RVK.Viewer ActiveX"
"AppID"="{1348752C-C8E0-4196-8D4F-EA13A525AB55}"

Взял и подставил RVK.Viewer и объект создался. Но что-то меня этот метод определения наличия компонента настораживает.
Если элемент расположен на форме не приведет ли его создание методом CreateObject к каким-либо ошибкам?
Опыта маловато вот и волнуюсь.
...
Рейтинг: 0 / 0
Проверка наличия компонента в системе.
    #36039149
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Joss
> Но что-то меня этот метод определения наличия компонента настораживает.

Чем? :)

> Если элемент расположен на форме не приведет ли его создание методом CreateObject к каким-либо ошибкам?

А вот в этом случае, эта проверка не поможет, потому, что все что расположено на форме будет проверятся/создаватся
раньше чем выполнится хоть строчка твоего кода, поэтому тебя спасет только инсталятор или динамическая загрузка
контролов

> Опыта маловато вот и волнуюсь.

;) все когда-то начинали


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проверка наличия компонента в системе.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]