Форум: "Базы";
Поиск по всему сайту: 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.017 c
3-99914           AleksK                2001-12-31 13:11  2002.01.31  
ComboBox в DBGrid


4-100103          neodiX                2001-11-29 15:30  2002.01.31  
Kak programno, na vremia, otkliucit mysh i klavu v WinNT ili Win2k? Ocen nado..


1-99972           MARcoDEN              2002-01-10 09:01  2002.01.31  
Windows XP


1-99938           дикое Кенгуру         2002-01-06 06:46  2002.01.31  
Как вставить в TRichEdit такоеже выпадающее меню как в TEdit ? Чтобы не писать своё и не делать мартышкин труд.


3-99907           TonnyS                2001-12-29 13:31  2002.01.31  
Как с помощью SQL-запроса добавить/изменить MEMO или BLOB поле?