Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с подключенем ком обекта 
:(
    Опции темы
knut
Дата 5.3.2009, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



добрый день.
есть свой ком обект я его зарегестрировал все прошло удачно вот теперь хочу его поключить и използовать.
поключил файл каторый сгенерил мне идл и хидер где находятся протатипы функции 
Цитата

#include "..\ComObject\SimpleObject.h"
#include "..\ComObject\ComObject_i.c"

но получаю ошибки 
Цитата


1>c:\documents and settings\comp\desktop\comobject\comobject\_isimpleobjectevents_cp.h(5) : error C2504: 'IConnectionPointImpl' : base class undefined
1> c:\documents and settings\comp\desktop\comobject\comobject\_isimpleobjectevents_cp.h(37) : see reference to class template instantiation 'CProxy_ISimpleObjectEvents<T>' being compiled
1>c:\documents and settings\comp\desktop\comobject\comobject\_isimpleobjectevents_cp.h(5) : error C2143: syntax error : missing ',' before '<'
1>c:\documents and settings\comp\desktop\comobject\comobject\simpleobject.h(18) : error C2470: 'CSimpleObject' : looks like a function definition, but there is no parameter list; skipping apparent body
1>c:\documents and settings\comp\desktop\comobject\comobject\simpleobject.h(61) : error C2065: 'CSimpleObject' : undeclared identifier
1>c:\documents and settings\comp\desktop\comobject\comobject\comobject_i.c(25) : error C2448: 'OBJECT_ENTRY_AUTO' : function-style initializer appears to be a function definition
1>c:\documents and settings\comp\desktop\comobject\comobject\comobject_i.c(62) : error C2146: syntax error : missing ';' before identifier 'CLSID'



--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
xvr
Дата 5.3.2009, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Не похоже это на файлы, сгенеренные midl, а похоже это на исходники реализации объекта. Не то подключил  smile 
А ругается оно на отсутствие #include <atlcom.h> 
PM MAIL   Вверх
knut
Дата 5.3.2009, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

Не похоже это на файлы, сгенеренные midl, а похоже это на исходники реализации объекта. Не то подключил

чем это они не похожы? 
SimpleObject.h файл где прототипы методов 
ComObject_i.c  где лежит CLSID 
что не то?
компилер на SimpleObject.h жалуется



--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
xvr
Дата 5.3.2009, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(knut @ 5.3.2009,  14:22)
Цитата

Не похоже это на файлы, сгенеренные midl, а похоже это на исходники реализации объекта. Не то подключил

чем это они не похожы? 
SimpleObject.h файл где прототипы методов 
ComObject_i.c  где лежит CLSID 
что не то?
компилер на SimpleObject.h жалуется

SimpleObject.h должен быть сгенерирован midl'ом по idl файлу. MIDL туда ничего лишнего не кладет, и уж точно там не будет никаких IConnectionPointImpl и прочего

Прикрепите сюда SimpleObject.h, посмотрю, что там не так.
PM MAIL   Вверх
knut
Дата 6.3.2009, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



да вы правы на счет #include <atlcom.h>   но теперь у меня линкер пукается
Цитата
error LNK2001: unresolved external symbol "public: virtual long __stdcall CMyAtlObject::EnumString(unsigned long)" (?EnumString@CMyAtlObject@@UAGJK@Z)

вот прототип фуннкции

STDMETHOD  (EnumString)(ULONG ulCount);


добавил в обявлене функции extern "C" __declspec(dllexport) но не помогло 


--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
xvr
Дата 6.3.2009, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(knut @ 6.3.2009,  10:58)
да вы правы на счет #include <atlcom.h>   но теперь у меня линкер пукается
Цитата
error LNK2001: unresolved external symbol "public: virtual long __stdcall CMyAtlObject::EnumString(unsigned long)" (?EnumString@CMyAtlObject@@UAGJK@Z)

вот прототип фуннкции

STDMETHOD  (EnumString)(ULONG ulCount);

Что то у вас координально не так при подключении вашего COM объекта. Для подключения COM объекта от него нужен ТОЛЬКО idl файл, НИЧЕГО другого в проект добавлять не надо. Никаких  CMyAtlObject::EnumString упоминаться ВООБЩЕ не должно.
dll с самим COM сервером должен быть только зарегистрирован в системе, линковать его НИКУДА НЕ НАДО.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




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


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

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