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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Com Interop, пропуск методов интерфейса 
:(
    Опции темы
megel
Дата 23.8.2009, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



исходный класс (сервер с++) :

Код


interface IABC : IUnknown
{
         HRESULT A(int a);
         HRESULT B(int a);
         HRESULT С(int a);
}



на c# (клиент) делаю свой интерфейс :

Код

[Guid("81BDCBCA-64D4-426d-AE8D-AD0147F4275C"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IABC
{
         void A(int a);
         void B(int a);
         void С(int a);
}


все работает нормально.
но можно ли использовать в интерфейсе на C# 
не все методы, а только те которые мне нужно?
(мож какие-то аттрибуты поставить ?)

чтоб было так :

Код

[Guid("81BDCBCA-64D4-426d-AE8D-AD0147F4275C"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IABC
{
         void A(int a); // метод A
         void C(int a); // метод C
}



редактировать код сервера не могу.
базовый класс интерфейса на сервере - IUnknown.










PM MAIL   Вверх
Partizan
Дата 23.8.2009, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

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



megel, а зачем руками тот же код писать, если можно просто сгенерить Interop-сборку по COM-серверу. Сгенерили сборку - поправили ручками...удалили ненужные методы из интеропки....по идее всё хорошо должно быть, если я ни в чём не ошибаюсь smile


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
megel
Дата 23.8.2009, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я com только начал изучать.
ты имееш ввиду tlbexp или tlbimp (не помню что нужно) ?
я делаю враппер для directx а он не экпортирует d3d.dll.
может я что не так делаю?
и если бы экпортировался как править сбоку?
PM MAIL   Вверх
Partizan
Дата 23.8.2009, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

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



Цитата

ты имееш ввиду tlbexp или tlbimp (не помню что нужно) ?


tlpbimp


Цитата

и если бы экпортировался как править сбоку? 


ildasm/ilasm


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
megel
Дата 23.8.2009, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



tlbimp пишет d3d.dll is not valiled type library
PM MAIL   Вверх
megel
Дата 24.8.2009, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а всетаки можно ли  сделать как я имел ввиду в начале?
у меня все структуры и энумы заменены на свои,
поэтому мне проще не генерировать interop com сборку, а самому написать.
PM MAIL   Вверх
megel
Дата 24.8.2009, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



может быть кто-нибудь пробовал генерировать tlb файл из хеадеров directX?

MIDL не помогает выдает ощибку обработки .h файлов.

Это сообщение отредактировал(а) megel - 24.8.2009, 23:22
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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