![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Регистрация COM [Delphi, Windows]
Shuric © (2005-08-21 13:15:00)Можно ли определить регистрацию объекта, кроме как через ParamStr?
Shuric (2005-08-26 20:57:00) [1]Привычка :) Определение разных путей, вот. Собственно вызван был интерес следующем:
Нужно было официально дыбать инфу из Oracle, и ввиду предпочтения Win98 (под ентой) был разработан проектик с сервером и клиентом. Так как под 98 приложение (устанавливающее Oracle и т.д.) не работает - пришлось на XP. А вот дельфа заартачилась, с сообщениями, типа, ошибка в DLL. Вот отсюда и была выевлены функция сбоя (не знаю, может так и должно быть), после чего возник вопросик :)
Erik1 (2005-08-26 15:31:00) [2]А зачем это в initialization сувать? Епроще ли в процедуре DllRegisterServer выполнять необходимые действия?
isasa (2005-08-25 10:38:00) [3]а если тупо:
if DllUnregisterServer=E_FAIL then ; // нано что-то делать, или нет?
if DllRegisterServer=E_FAIL then ......
else .....
Shuric (2005-08-24 22:46:00) [4]else бла-бла-бла? конечно.
Shuric (2005-08-24 22:44:00) [5]Чей-то мне кажетя, что и так и так вызывается DllRegisterServer.
Собствено, каюсь, напишу, что бы был понятен вопрос.
initialization
if регистация then
then бла-бла-бла
Собствено интесно как определить "регистрация" и не выполнять "бла-бла-бла"
Polevi (2005-08-24 13:40:00) [6]любой COM сервер экспортирует ф-ию DllRegisterServer
вызывать через LoadLibrary + GetProcAddress
Shuric (2005-08-22 14:51:00) [7]Ну если регистрация dll c COM в дельфах, то ParamStr(0) - '...delphi32.exe', если ручками - 'regserv32.exe', помоему. Собственно вопрос из интереса, ну, например, существуют ли предопределенные константы как LINUX и MSWINDOWS, например.
alex_*** (2005-08-22 14:34:00) [8]как можно определить регистрацию через ParamStr? Что регистрим вообще?
Shuric (2005-08-22 14:09:00) [9]Нет. В программке, в секции инициализации, использую ExpandFileNameCase. При регистрации - тихая смерть дельфы, а так - очень чудненько работает. Отседова вопрос.
isasa (2005-08-22 12:41:00) [10]Если правильно понял вопрос, то
ATL -> HKEY_CLASSES_ROOT\TypeLib\<LIBID>
Interface -> HKEY_CLASSES_ROOT\Interface\<IID>, HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\<IID>
coClass -> HKEY_CLASSES_ROOT\CLSID\<CLASS_ID>, HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\<CLASS_ID>
кроме этого
HKEY_CLASSES_ROOT\<ATL name>.<Interface>