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

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

Регистрация 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>


Наверх

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