Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Как программно понять зарегистрирована данная DLL или OCX на комп...

0 views
Skip to first unread message

yuniki

unread,
Aug 15, 2001, 6:28:16 AM8/15/01
to
Full Subject for This message:
Как программно понять зарегистрирована данная DLL или OCX на компе
1) Как программно понять зарегистрирована данная DLL или OCX на компе, на
котором выполняется программа ?
2) Регистрация новой DLL или OCX на компе с помощью regsrv32 и привязка к
проекту через Project|Refrences ccылки на DLL или OCX - это взаимозаменяемые
действия?

NightBlade

unread,
Aug 15, 2001, 6:23:53 PM8/15/01
to
Full Subject for This message:
Как программно понять зарегистрирована данная DLL или OCX на комп...
1) Лучший способ - через реестр проверить. Все зависит от того, по какому
принципу ты ищешь. Если по имени класса смотри например
HKEY_CLASSES_ROOT\MSChart20Lib.MSChart
Если такой ключик присутствует, значит MSChart зарегестрирован. Если по имени
DLL, то сложнее. Hадо пролезать по всей ветке
HKEY_CLASSES_ROOT\CLSID и проверять там
HKEY_CLASSES_ROOT\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\InprocServer32
для каждого xxxx класса.
Самый простой способ написать на VB CreateObject("MSChart20Lib.MSChart") и
отловить ошибку на On Error, не очень красиво, но работает, и проще, чем
копаться в реестре. Hо тут только по имени класса можно проверить.
2) А регистрация и привязка - вещи разные. Ты привязку без регистрации не
сделаешь. Регистрация - вещь общесистемная и, обычно, выполняется без твоего
участия, автоматически при инсталляции компонента, или после его компиляции,
чтобы сразу же ипользовать можно было. А привязка выполняется к каждому
конкретному проекту.


Все вопросы на samko...@hotmail.com и ICQ#106525704

0 new messages