Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.31;
Скачать: [xml.tar.bz2];




Вниз

MIDAS, Сервер приложений в виде DLL 


Slava   (2001-12-27 10:17) [0]

Как зарегистрировать Remote Data Module, если он находится в DLL?

С .exe все понятно: один раз запустил и все, а с DLL заминочка вышла :о(



GreySerg   (2001-12-27 10:45) [1]

посмотри DLLRegisterServer



Slava   (2001-12-27 10:52) [2]

А что там надо посмотреть?

Сама DLL регистрируется: regsvr32 my.dll. Здесь все нормально.
А вот Remote Data Module,который в ней - нет.



Slava   (2001-12-27 12:09) [3]

Вопрос открыт...



Romkin   (2001-12-27 12:22) [4]

Если все нормально написано - все соединится. При регистрации через regsvr32 регистрируется все Factory, у которых не Internal.
Советую попробовать зарегистрировать через TRegSvr (Delphi/bin)



Slava   (2001-12-27 12:43) [5]

Мда..а

Все дело оказалось в винде (как всегда :))
Что-то там сломалось.
Перезагрузил и все ОК.

Спасибо.

P.S. Сейчас попробую удаленно...



Slava   (2001-12-27 12:58) [6]

Не получилось удаленно...

По-моему уже кто-то здесь вопрос этот задавал.

Если подкючаться через TSocketConnection, то все пучком, а если через TDCOMConnection, то "Класс не зарегистрирован."

Кто знает почему?



Romkin   (2001-12-27 12:59) [7]

DLL на другой станции никогда не подключишь - должна находится на том же компе, что и клиент



Slava   (2001-12-27 13:08) [8]

> Romkin

Почему? Где написано?
Почему тогда из dcomcnfg его видно?

А если это так, то другой вопрос:
Как можно exe разрегить?

А то мусор в реестре копится...



Romkin   (2001-12-27 13:23) [9]

Потому что DLL грузится в адресное пространство процесса, а он на другой машине...
разрегистрация для Delphi Server.exe /unregserver, если не ошибаюсь



Slava   (2001-12-27 13:38) [10]

ОК. Разрегистрировались.
Спасибо!

P.S. Но про DLL все равно непонятно...



Romkin   (2001-12-27 13:45) [11]

Ну невозможна ситуация, когда процесс работает на одной машине, а dll, к нему подключенная - на другой. К тому же, при удаленном доступе делается marshalling, через IDispatch или собственный прокси, а в DLL можно подключаться через IUnknown
Возможно, DCOM подгрузит, если указать, что сервер должен выполняться на стороне клиента... проволочет на машину и там подгрузит, но вряд ли. Но это так же, как и просто на машине - с настройкой возится не надо.



Slava   (2001-12-29 10:02) [12]

Вот ведь блин, а?

Проблема следующая:

Есть 2 компа: "МОЙ_КОМП" (Delphi6) и "НЕ_МОЙ_КОМП" (нет Delphi).
На обоих зарегин RemoteDataModule.
Создаю клиентское приложение с TDCOMConnection.

В Объект Инспекторе
Прописываю ComputerName:="НЕ_МОЙ_КОМП",
Connected:=True.
Все ОК. (сервер поднимается).
Компилирую. Запускаю. Ничего не происходит. Даже в списке процессов процесса такого нет. А на сервере server.exe поднимается,
но подключения к RemoteDataModule не происходит!!!
Ставлю Connected:=False и пытаюсь подключиться программно: ошибка
"Интерфейс не поддерживается". В дебаггере - тоже самое.

Прописываю ComputerName:="МОЙ_КОМП", запускаю клиента с "НЕ_МОЙ_КОМП" - ВСЕ ОК! Иду на 3-тий комп - тоже все ОК.
(все нормально подключается, сервер поднимается)

"МОЙ_КОМП" - W2K PRO
"НЕ_МОЙ_КОМП" - W2K PRO
3-тий комп - W2K SERVER

Romkin, на тебя все надежда. Заранее СПАСИБО!



Slava   (2001-12-29 10:43) [13]

ВСЕ!
РАЗОБРАЛСЯ!
Во всем "виноват" антивирусник, который по-умолчанию блокирует
все на..р

E-Safe называется...

Прошу прощения.




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.31;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.015 c
1-99999           МАРАТ                 2002-01-03 14:32  2002.01.31  
Штрих кода


14-100056         \/\/ \/\/ \/\/        2001-12-02 10:14  2002.01.31  
Помогите плииз!!!


1-100014          Snake                 2002-01-11 18:00  2002.01.31  
Здравствуйте!


4-100113          vic_774N              2001-12-03 14:47  2002.01.31  
Delphi IDE - а попробуйте-ка послать текст в редактор !!!


1-99989           SkyR                  2002-01-14 01:53  2002.01.31  
Работа с указателями...