Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реализация RPC 
:(
    Опции темы
gpepsi
Дата 2.9.2012, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 14.3.2010

Репутация: нет
Всего: нет



diadiavova, спасибо. буду разбираться.
З.Ы. Только еще вопрос - если экземпляр создан, то вызов
Код

object obj = Activator.CreateComInstanceFrom(asm.Location, "Scripting.FileSystemObjectClass").Unwrap();

создаст еще один экземпляр или получу указатель на созданный ранее ? Мне нужно второе.
PM MAIL   Вверх
diadiavova
Дата 2.9.2012, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(gpepsi @  2.9.2012,  19:15 Найти цитируемый пост)
создаст еще один экземпляр или получу указатель на созданный ранее ? Мне нужно второе. 

Еще один экземпляр. Если тебе нужна переменная, ссылающаяся на тот же объект - просто присвой ей эту ссылку
Код

obj2 = obj;
Объекты ссылочных типов не дублируются при присвоении.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
gpepsi
Дата 3.9.2012, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 14.3.2010

Репутация: нет
Всего: нет



что-то не получается создать объект.
Добавил ссылку на объект.
Смотрю Interop.MyWHostLib
  - WHostObj - интерфейс
  - WHostObjClass - класс
  - IWHostObj - интерфейс

Получаю сборку
Код

Assembly asm = typeof(MyWHostLib.WHostObj).Assembly;

успешно.

Создаю объект
Код

object obj = Activator.CreateComInstanceFrom(asm.Location, "MyWHostLib.WHostObjClass").Unwrap();


ошибка - не можетпривести тип объекта "System.__ComObject" к типу "MyWHostLib.WHostObjClass";

Добавлено через 6 минут и 14 секунд
P.S. Забыл скачать, что объект создавался так
Код

(IWHostObj)Interaction.CreateObject("MyWHostLib.WHostObj", address);


то естьб он принимал агрументом адрес и кастовался к интерфейсу
PM MAIL   Вверх
diadiavova
Дата 3.9.2012, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(gpepsi @  3.9.2012,  13:08 Найти цитируемый пост)
ошибка - не можетпривести тип объекта "System.__ComObject" к типу "MyWHostLib.WHostObjClass";

В том коде, что ты привел, приведения типов нет, так что ошибка как раз видимо возникает там, где ты используешь CreateObject. Для чего ты его используешь - непонятно. Креэйтобжект делает то же, что и активатор, только по программному идентификатору, а не по имени класса, да и без сборки взаимодействия. Так что уж надо использовать либо то, либо другое. Для чего ты пытаешься приведение типов выполнить - тоже непонятно, тип тебе заранее известен не будет, именно поэтому приходится работать через рефлексию, так что работай с типом объект.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0662 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.