Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
idhunter
0 / 0 / 0
Регистрация: 07.05.2008
Сообщений: 10
#1

В VC++7 ATL, defaultvalue не работает при late-binding - C++

28.09.2010, 17:46. Просмотров 554. Ответов 0
Метки нет (Все метки)

Добрый день,

Столкнулся с проблемой - методы ATL COM объекта, откомпилированного под VC++7, не могут вызываться при late-binding без дефолтных параметров. Причем при компиляции под VC++6 это работает прекрасно!

Т.е. метод ниже:

[id(1), helpstring('method AA')] HRESULT AA([in, defaultvalue(1)] LONG abc);

можно вызвать только как:

Object.AA 1

но не

Object.AA

Проверял в VB6 и VBScript. Однако если использовать early-binding (объявлять объект как Dim Object As LibraryName.ClassName), то все работает.

При компиляции же с VC++6 правильно работает и early, и late binding.

Если не использовать attributed объекты, а создавать раздельные h и idl-файлы (т.е. всё как в VC++6), то всё работает нормально. Конечно, не использовать attributed расширений - это тоже выход, но не хотелось бы всё-таки от них отказываться.

Поиск по инету ничего не дал. Может, ключик какой-то нужно указывать для компиляции IDL или директиву какую?

Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2010, 17:46     В VC++7 ATL, defaultvalue не работает при late-binding
Посмотрите здесь:

C++ Не работает програма при повторном запуске!
Не работает пароль при выборе Админа. C++
C++ VC++6.0/ATL - ошибка сборки в режиме Release при исп.функций из math.h
Не могу разобраться с написанием ActiveX в ATL C++
C++ Где искать DllMain в ATL 7.0?
Не работает конструктор при наследовании C++
Что надо знать чтобы написать игру на подобии The Binding Of Isaac C++
ATL C++
ATL Service и переодическая задача C++
При использовании getline не работает eof C++
C++ В ATL нашел код: __interface - как это работает
C++ ATL не ясно как добавить объект

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 13:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru