powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Удаление метода COM-интерфейса
2 сообщений из 2, страница 1 из 1
Удаление метода COM-интерфейса
    #38812756
PavelT100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть COM-интерфейс в EXE-модуле, написанный на C++.
Клиент, использующий эти методы, написанный на C#.
Увидел, что одна из функций COM-интерфейса не используется на клиенте. Решил её вообе удалить.
Удалил эту функцию из idl-файла.

[
object,
uuid(416AF068-2ABF-4F20-BC61-1163A7600433),
dual,
nonextensible,
helpstring("IcomAAAA Interface"),
pointer_default(unique)
]
interface IWinPharma : IDispatch{
[id(1), helpstring("method AAAA")] HRESULT AAAA([in] BSTR query, [in] BSTR query_cleanup); //вот эту строку я удалил
[id(2), helpstring("method BBBB")] HRESULT BBBB([in] BSTR query);
.....


уменьшил id на 1.

удалил саму функцию из кода C++:
STDMETHOD(AAAA)(BSTR query, BSTR cleanup)
{
...
}



На С#-клиенте удалил описание этой функции:
[Guid("416AF068-2ABF-4F20-BC61-1163A7600433")]
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface IWinPharma
{
int AAAA(
[In, MarshalAs(UnmanagedType.BStr)] string query,
[In, MarshalAs(UnmanagedType.BStr)] string query_cleanup);

void BBBB([In, MarshalAs(UnmanagedType.BStr)] string query);
....


Всё компилируется. Создаётся новый TLB. Сервер EXE запускается. Но при запуске клиента падает на первом же вызове COM-функции. Что надо ещё удалить или исправить?
...
Рейтинг: 0 / 0
Удаление метода COM-интерфейса
    #38813326
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
COM интерфейсы нельзя изменять. Так они устроены. Хочешь что-то изменить - создай новый интерфейс с новым GUID.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Удаление метода COM-интерфейса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]