|
|
|
vovik4385 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.11.2013 Репутация: нет Всего: нет |
Здравствуйте столкнулся с такой проблемой:
Создал я СОМ сервер на с++ и клиент на VB вроде все работает!но только при нажатии кнопки DRAW в клиенте выдается ошибка runtime error 5 invalid procedure call or argument!но что самое интересное в среде разработки VB кнопка работает, в чем может быть причина? Присоединённый файл ( Кол-во скачиваний: 2 ) Squiggle_Collection_2.rar 44,09 Kb |
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Судя по вот этому -
Опишите ваш индекс в BetterSquiggleCollection.idl как Long а не VARIANT, система сама вам приведет тип к целому, и сама обругается, если это не получится |
|||
|
||||
vovik4385 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.11.2013 Репутация: нет Всего: нет |
c:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(1827) : error C2259: 'CComObject<class CSquiggleCollection2>' : cannot instantiate abstract class due to following members:
c:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(1823) : while compiling class-template member function 'long __stdcall ATL::CComCreator<class ATL::CComObject<class CSquiggleCollection2> >::CreateInstance(void *,const struc t _GUID &,void ** )' c:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(1827) : warning C4259: 'long __stdcall ISquiggleCollection2::Item(long,struct tagVARIANT *)' : pure virtual function was not defined e:\òðåëüñåí ý. - ìîäåëü com è ïðèìåíåíèå atl 3.0\samples\chapter 11\squiggle collection 2\bettersquigglecollection.h(98) : see declaration of 'Item' c:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(1823) : while compiling class-template member function 'long __stdcall ATL::CComCreator<class ATL::CComObject<class CSquiggleCollection2> >::CreateInstance(void *,const struc t _GUID &,void ** )' c:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(1827) : error C2259: 'CComObject<class CSquiggleCollection2>' : cannot instantiate abstract class due to following members: c:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(1823) : while compiling class-template member function 'long __stdcall ATL::CComCreator<class ATL::CComObject<class CSquiggleCollection2> >::CreateInstance(void *,const struc t _GUID &,void ** )' c:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(1827) : warning C4259: 'long __stdcall ISquiggleCollection2::Item(long,struct tagVARIANT *)' : pure virtual function was not defined e:\òðåëüñåí ý. - ìîäåëü com è ïðèìåíåíèå atl 3.0\samples\chapter 11\squiggle collection 2\bettersquigglecollection.h(98) : see declaration of 'Item' c:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(1823) : while compiling class-template member function 'long __stdcall ATL::CComCreator<class ATL::CComObject<class CSquiggleCollection2> >::CreateInstance(void *,const struc t _GUID &,void ** )' вот ято мне компилятор выдал!!! |
|||
|
||||
vovik4385 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.11.2013 Репутация: нет Всего: нет |
Мне кажется дело не в этом(так как тогда бы и другие кнопки не работали бы ) а то не работает только одна кнопка DRAW?
|
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Правильно выдал - где функция 'long __stdcall ISquiggleCollection2::Item(long,struct tagVARIANT *)'? У вас теперь параметр не VARIANT* а long
У других кнопок вызов Item другой (или вообще нет), вот они и работают Отладчиком не пробовали смотреть, как ваш код себя ведет? Очень помогает |
|||
|
||||
vovik4385 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.11.2013 Репутация: нет Всего: нет |
xvr, не могли бы вы попробывать запустить?
|
|||
|
||||
xvr |
|
||||||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Запустил, у меня все работает.
Поменял тип параметра на LONG - опять все работает: IDL file:
SquiggleCollection2.h (строка 72)
SquiggleCollection2.cpp (специально не стирал, а закоментарил лишнее)
|
||||||
|
|||||||
vovik4385 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.11.2013 Репутация: нет Всего: нет |
А в чем тогда причина может быть?
|
|||
|
||||
vovik4385 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.11.2013 Репутация: нет Всего: нет |
А в чем тогда причина может быть?
|
|||
|
||||
vovik4385 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.11.2013 Репутация: нет Всего: нет |
после того как я исправил код, ТЕПЕРЬ ОШИБКА при нажатии кнопки DRAW что обнаружена ошибка и приложение будет закрыто извините за неудобства? и при отладке ошибка доступа?
Это сообщение отредактировал(а) vovik4385 - 13.11.2013, 22:01 |
|||
|
||||
vovik4385 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.11.2013 Репутация: нет Всего: нет |
отладил выдает ошибку (KERNELBASE.DLL) 0xC00000F float inexact result!!Как можно решить эту проблему?
|
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Запустите ваш COM сервер под отладчиком:
|
|||
|
||||
vovik4385 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.11.2013 Репутация: нет Всего: нет |
я запускал под отладчиком, отладил выдает ошибку (KERNELBASE.DLL) 0xC00000F float inexact result
Добавлено через 7 минут и 58 секунд как можно решить эту проблему? |
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
||||
|
||||
vovik4385 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.11.2013 Репутация: нет Всего: нет |
первая строчка в функции item?
|
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |