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

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

Регистрация DLL [D6, 2000, XP, 2003]


Magedon ©   (2007-06-07 17:04:00) 

Я регистрирую dllку (COMсервер) так:
WinExec(PChar('regsvr32 /s '+ getPluginDllFileName), SW_HIDE);
Сегодня столкнулся с случаем, что dllка в системе не была зарегистрирована, изза этого создался ГЛЮК.
Я хотел бы узнать как проверить зарегистрирована ли dllка  в системе.

Спасибо за внимание


Magedon   (2007-06-07 17:46:00) [1]

Объясните, пожалуйста, ... если не лень :)


Magedon   (2007-06-07 17:44:00) [2]

Ага нашел вроде.
Люди проверяют наличие ключа "CLSID\" + classID + "\InprocServer32".
Решил проверить и поискать в реестре GUID своего COMа.
Нашел :) Но только не там где люди ищут. :(
Я нашел в HKEY_CLASSES_ROOT\Typelib\ и в HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\.

Это как понимать? В принципе могу и это включить в проверку, но я непонял с чего это оно не так как  у людей :)

Спасибо


Magedon   (2007-06-07 17:33:00) [3]

Дело в том что оно ничего не говорило :(
Это плагин к МС Оффису.

Т.к. я думал что выше приведенный код всегда работает на саксесфул, то даже в процедуре проверки УстановленЛиМойПлуг проверял только существование моих ключей в HKCU\Software\Microsoft\Office\[WORD,EXCEL]\Addins\.

Но оказалось что если ddlка не зарегистрирована в системе оффис даже не заикнется об этом. Просто молча не загрузит.
Я полчаса долбался на одной машине пока  это не понял.
Есть ли какой нить стандартный АПИФункций типа ИзКОМСерверРегистеред? Или как это сделать вручную

Спасибо :)


tesseract   (2007-06-07 17:11:00) [4]

При создании объекта из DLL функция скажет тебе об этом


Наверх

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