10 / 10 / 1
Регистрация: 16.12.2011
Сообщений: 14
|
||||||
1 | ||||||
На зачете спросили по ATL COM25.11.2012, 22:44. Показов 1890. Ответов 3
Метки нет (Все метки)
С помощью мастера ATL COM в Visual Studio на языке C++ создаем проект LB3_AutoSvr в качестве заготовки проекта для формирования внутрипроцессного сервера с использованием ATL.
Добавляем методы в интерфейс IMyMath компонента: В файл Lb3_AutoSvr.idl было добавлено описание методов в транскрипции IDL:
Но мне, почему то кажется, что не будет, не зря слово retval мастер, при создании проекта, сюда подставил. Ответ аргументировать. Спасибо.
0
|
25.11.2012, 22:44 | |
Ответы с готовыми решениями:
3
Сижу на зачете !! На зачете, одномерный массив Ребят, сижу на зачете! На зачёте один номер остался |
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,415
|
|
26.11.2012, 09:44 | 2 |
вилами по воде: retval информирует COM о том, что данные методы являются функциями при вызове которых через IDispatch в языках не предусматривающих анализ HRESULT наподобие VBA указанный параметр является возвращаемым значением. если retval не писать - возвращаемого значения не будет, то есть в этих языках данные методы будут являться процедурами возвращающими результат в одном из параметров. сам не в курсе, интуиция
1
|
10 / 10 / 1
Регистрация: 16.12.2011
Сообщений: 14
|
|
27.11.2012, 00:26 [ТС] | 3 |
Как я понимаю на С++ или С# клиента написать к такой библиотеке можно будет, а на Visual Basic уже нельзя?
0
|
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,415
|
|
27.11.2012, 09:03 | 4 |
нет. клиента можно будет написать на чем угодно. просто VBA не показывает, что и функции и процедуры возвращают HRESULT: в VBA если есть retval - это функция возвращающая переменную соответствующего типа, если нет retval - это процедура не возвращающая ничего. хотя про то, что функции и процедуры реально возвращают HRESULT VBA внутри себя тоже не забывает и при возврате в HRESULT ошибки прерывает программу. как устроена обертка COM в C# я не знаю. однако и в C# и в C++ возможны реализации которые так же как и VBA скрывают от разработчика возврат HRESULT и сопоставляют методам с retval функции, а методам без него - процедуры возбуждая исключение или используя иные способы сигнализации об отказе при возврате в HRESULT ошибки.
1
|
27.11.2012, 09:03 | |
27.11.2012, 09:03 | |
Помогаю со студенческими работами здесь
4
Помощь на зачете в назначенное время Ща на зачёте заставте прогу компилиться Нужен человек для помощи онлайн на зачете Маша проиграла в личном зачете студенческой олимпиады Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |