![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Регистрация 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 функция скажет тебе об этом