|
3 / 3 / 1
Регистрация: 05.07.2013
Сообщений: 39
|
|||||||||||||||
E_NOINTERFACE COM23.03.2015, 13:41. Показов 2463. Ответов 5
Метки нет (Все метки)
Добрый день. Взял пример кода из книги Д. Роджерсона. Его скомпилированный вариант работает на ура, но при попытке повторить сам, получаю следующую ошибку:
IFace Кликните здесь для просмотра всего текста
main.cpp - Фабрика классов, сам класс и экспортируемые функции. Кликните здесь для просмотра всего текста
IDL Кликните здесь для просмотра всего текста
DEF Кликните здесь для просмотра всего текста
0
|
|||||||||||||||
| 23.03.2015, 13:41 | |
|
Ответы с готовыми решениями:
5
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Ушел с форума
|
|||||||||||
| 23.03.2015, 17:54 | |||||||||||
|
На первый взгляд, никакого "криминала" в коде нет.
Но очень смущает вот это:
разные сигнатуры метода Fx. И вообще, COM-серверы пишутся по-другому: сначала вы описываете интерфейсы в IDL-файле, компилируете его MIDL-компилятором и подключаете полученные файлы .c и .h к своему проекту. Пробуйте так. Самому описывать на C/C++ интерфейсы не нужно.
0
|
|||||||||||
|
3 / 3 / 1
Регистрация: 05.07.2013
Сообщений: 39
|
|||||||||||||||||
| 25.03.2015, 22:11 [ТС] | |||||||||||||||||
|
Изменил функцию:
source_h.h source_i.c source_p.c dlldata.c Проблема в том, что при подключении последних двух возникают ошибки линковки. Пример:
Файлы: source_h.h Кликните здесь для просмотра всего текста
source_i.c Кликните здесь для просмотра всего текста
0
|
|||||||||||||||||
|
3 / 3 / 1
Регистрация: 05.07.2013
Сообщений: 39
|
|||||||||||
| 25.03.2015, 22:11 [ТС] | |||||||||||
|
source_p.c
Кликните здесь для просмотра всего текста
dlldata.c Кликните здесь для просмотра всего текста
Ход построения: Кликните здесь для просмотра всего текста
1>------ Построение начато: проект: Win32Project11, Конфигурация: Debug Win32 ------
1>main.obj : error LNK2005: _DllCanUnloadNow@0 уже определен в dlldata.obj 1>main.obj : error LNK2005: _DllGetClassObject@12 уже определен в dlldata.obj 1>Source.def : warning LNK4222: экспортированному символу "DllGetClassObject" не следует присваивать порядковое число 1>Source.def : warning LNK4222: экспортированному символу "DllCanUnloadNow" не следует присваивать порядковое число 1>Source.def : warning LNK4222: экспортированному символу "DllRegisterServer" не следует присваивать порядковое число 1>Source.def : warning LNK4222: экспортированному символу "DllUnregisterServer" не следует присваивать порядковое число 1> Создается библиотека C:\Users\Conte_000\documents\visual studio 2012\Projects\Win32Project11\Debug\Win32 Project11.lib и объект C:\Users\Conte_000\documents\visual studio 2012\Projects\Win32Project11\Debug\Win32 Project11.exp 1>dlldata.obj : error LNK2019: ссылка на неразрешенный внешний символ _NdrCStdStubBuffer_Release@8 в функции _CStdStubBuffer_Release@4 1>dlldata.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__NdrDllGetClassObject@24 в функции _DllGetClassObject@12 1>dlldata.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__NdrDllCanUnloadNow@4 в функции _DllCanUnloadNow@0 1>dlldata.obj : error LNK2019: ссылка на неразрешенный внешний символ _NdrCStdStubBuffer2_Release@8 в функции _CStdStubBuffer2_Release@4 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_IUnknown_QueryInterface_Proxy@12" 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_IUnknown_AddRef_Proxy@4" 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_IUnknown_Release_Proxy@4" 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_CStdStubBuffer_QueryInterface@12" 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_CStdStubBuffer_AddRef@4" 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_CStdStubBuffer_Connect@8" 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_CStdStubBuffer_Disconnect@4" 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_CStdStubBuffer_Invoke@12" 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_CStdStubBuffer_IsIIDSupported@8" 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_CStdStubBuffer_CountRefs@4" 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_CStdStubBuffer_DebugServerQueryInterfa ce@8" 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_CStdStubBuffer_DebugServerRelease@ 8" 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_NdrOleAllocate@4" 1>source_p.obj : error LNK2001: неразрешенный внешний символ "_NdrOleFree@4" 1>C:\Users\Conte_000\documents\visual studio 2012\Projects\Win32Project11\Debug\Win32 Project11.dll : fatal error LNK1120: неразрешенных внешних элементов: 18 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
|
|||||||||||
|
3 / 3 / 1
Регистрация: 05.07.2013
Сообщений: 39
|
|||||||||||
| 27.03.2015, 09:49 [ТС] | |||||||||||
|
Не работает, только когда пытаюсь импортировать библиотеку типов:
Кликните здесь для просмотра всего текста
Вот так все работает: Кликните здесь для просмотра всего текста
0
|
|||||||||||
|
3 / 3 / 1
Регистрация: 05.07.2013
Сообщений: 39
|
|
| 30.03.2015, 12:24 [ТС] | |
|
Код прекрасно работает из под c++ и Delphi, но в c++\CLI вылетает с ошибкой, при попытке вызова функции Fx().
0
|
|
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Old Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|