![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 08.07.2011
Сообщений: 8
|
![]()
Добрый день,
наверное, задача очень простая, но никак не получается разобраться. Для интеграции двух систем был разработан метод Method в интерфейсе IInterface библиотеки Library.dll. Надо вызвать этот метод с определенными параметрами и получить ответ. Все что нашел, сводится к следующему: Type myType = Type.GetTypeFromProgID("Library.Cla ss", server, true); Object interfaceValue = Activator.CreateInstance(myType); myType.InvokeMember("Method", BindingFlags.InvokeMethod, null, interfaceValue, args); Но на первой строке вылезает ошибка "Недопустимая строка с указанием класса", соответственно myType остается пустым. Не могли бы вы подсказать, что вообще следует делать и в каком направлении двигаться. Правильно ли указано progId? Или как его узнать, если есть доступ к компьютеру, где лежит длл. Что указывать в имени сервера, как определить к какому домену подключаться и как аутендифицироваться, и надо ли это вообще? Последний раз редактировалось WitcherD; 08.07.2011 в 11:39. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 08.07.2011
Сообщений: 8
|
![]()
В коде пробела нет=) в редактировании сообщения тоже нет. Почему-то в посте появляется. Основной вопрос как правильно подключаться к удаленному компьютеру
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
![]()
По идее к нему не надо подключатся, он просто должен быть доступен. В качестве server надо указать имя компьютера. Если передать null, то искать будет у тебя локально.
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 08.07.2011
Сообщений: 8
|
![]()
хм, насколько я понял progId получается из имени библиотеки, точка, название класса. С помощью OleView можно узнать все классы, с этим проблем вроде нет. Два компьютера находятся в локальной сети, на одном из них лежит эта библиотека. Со второго запускается приложение. Если в качестве сервера просто указывать айпи, или название компьютера, то результат все та же ошибка.
Может я делаю что-то не то, или где может быть ошибка? |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
![]()
мот firewall у кого-то не пускает.
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 08.07.2011
Сообщений: 8
|
![]()
Файерволов нет.
|
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 10.07.2011
Сообщений: 2
|
![]()
А тип myType правильно объявлен? В С++ тип объявляется typedef myType. Может из за этого что то?
|
![]() |
![]() |
![]() |
#9 |
Регистрация: 08.07.2011
Сообщений: 8
|
![]()
нее... Type - абстрактный базовый класс, тут все верно. Если в качестве сервера указать localhost и попытаться получить доступ к объекту на локальном компьютере, то все работает. Проблема возникает при подключении к удаленному компьютеру... может у кого еще какие идеи есть?=)
|
![]() |
![]() |
![]() |
#10 |
Новичок
Джуниор
Регистрация: 10.07.2011
Сообщений: 2
|
![]()
Если на локалхосте работает, то как одмин вижу два варианта. Либо неправильно указывается адрес удалённого компа, либо удалённый комп режет права на доступ.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
DCOM | drzod | Общие вопросы C/C++ | 0 | 26.01.2011 04:15 |
Удаленный SQL-сервер Ado.Net + .Net remoting + Asp .Net | gammaray | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 2 | 22.11.2010 17:36 |
DCOM | SanekIrk | Общие вопросы Delphi | 1 | 10.09.2009 09:45 |