Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
17 / 0 / 1
Регистрация: 11.12.2014
Сообщений: 19

Ambiguity between 'IBinding' and 'Wsdlbind::IBinding'

28.09.2015, 10:36. Показов 969. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня всем!

При компиляции проекта в 6-м билдере дает следующую ошибку.
[BCC32 Error] Urlmon.hpp(36): E2015 Ambiguity between 'IBinding' and 'Wsdlbind::IBinding'
на строке
C++
1
DECLARE_DINTERFACE_TYPE(IBinding);
Варианты типа
C++
1
DECLARE_DINTERFACE_TYPE(::IBinding);
([BCC32 Error] Urlmon.hpp(36): E2451 Undefined symbol 'IBinding')
C++
1
DECLARE_DINTERFACE_TYPE(Wsdlbind::IBinding);
([BCC32 Error] Urlmon.hpp(36): E2090 Qualifier 'Wsdlbind' is not a class or namespace name)
не канают.

Вычитал что если в .h файле поменять местами include то можно исправить эту проблему. Но поскольку проект большой не могу найти в каком .h файле нужно менять.

Кто может что либо подсказать по данной проблеме, прошу помочь. Очень нужна помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.09.2015, 10:36
Ответы с готовыми решениями:

Ambiguity between sqrt
Здравствуйте, недавно начав изучать программирование на C++, столкнулся с данной проблемой при попытке скомпилировать программу по решению...

Ошибка Ambiguity between
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { int Transparency; long ExtStyle; Transparency =...

Билдер 2010 -ошибка E2015 Ambiguity between
в файле проекта в строке USEFORM("UnitPrintPageSetup.cpp", PageSetupDialog); AFF_ORDO.cpp(13): E2015 Ambiguity between...

11
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,154
Записей в блоге: 3
28.09.2015, 10:45
а момент кода,куда ссылается ошибка ?
0
17 / 0 / 1
Регистрация: 11.12.2014
Сообщений: 19
28.09.2015, 11:28  [ТС]
Ошибка ссылается на ссылается на строку
C++
1
DECLARE_DINTERFACE_TYPE(IBinding);
которая находиться в файле UrlMon.hpp. На сколько я понимаю это какой то генерируемый файл, который вызывается одним из компонентов который я использую в проекте, предположительно soap или wsdl. (Из подобного в проекте HTTPRIOVT)

P.S. Уточню, что это не ошибка выполнения какого либо кода в моем проекте, а ошибка компиляции, подключения библиотек и т.п.
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,154
Записей в блоге: 3
28.09.2015, 11:56
C++
1
#define DECLARE_DINTERFACE_TYPE(IBinding);
так прокактит? попробуйте.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,908
Записей в блоге: 12
28.09.2015, 12:08
Akolmistly, какие h-файлы и в каком порядке подключены у тебя к проекту, что возникает такое несоответствие? В каком-то еще из подключенных хидеров определен тип IBinding, так вот надо сделать так, чтобы это определение (то есть, включение этого хидер-файла) встречалось ПОСЛЕ того, как подключается Urlmon.hpp

Добавлено через 41 секунду
Цитата Сообщение от Dinkin Посмотреть сообщение
так прокактит?
Не прокатит
0
17 / 0 / 1
Регистрация: 11.12.2014
Сообщений: 19
28.09.2015, 12:22  [ТС]
На данный момент для меня проблема как раз в том, что надо понять в каком из хедеров проекта возникает данная ошибка, поскольку конфликтующие компоненты могут находиться на нескольких формах.
Есть ли какой либо способ пошаговой компиляции на котором будет виден момент возникновения ошибки? Или только методом тыка?
P.S. IBinding либо urlmon.hpp нигде не упоминаются в проекте, они скорее всего находятся в каких то сторонних h-ках, такое наверное не смогу найти.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,908
Записей в блоге: 12
28.09.2015, 14:09
Все директивы #include с одной из форм, при компиляции которой возникает ошибка, приведи (желательно - отдельно из Unit.h и Unit.cpp)
0
17 / 0 / 1
Регистрация: 11.12.2014
Сообщений: 19
28.09.2015, 14:25  [ТС]
.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <ExtCtrls.hpp>
#include <Mask.hpp>
#include "uTFormPlac.h"
#include <ActnList.hpp>
#include <DBCtrls.hpp>
#include <XPMan.hpp>
#include <Rio.hpp>
#include "SoapHTTPRIOVT.hpp"
#include "coinstar.h"
#include <Menus.hpp>
#include "fr_class.hpp"
#include "FR_Class.hpp"
#include "unPrint.h"
#include "numtostr.h"
.hpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <vcl.h>
#pragma hdrstop
 
#include "unMain.h"
#include "unDm.h"
#include "uForm.h"
#include "uAgents.h"
#include <Math.hpp>
 
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "uTFormPlac"
#pragma link "SoapHTTPRIOVT"
#pragma link "FR_Class"
#pragma resource "*.dfm"
это все из главной формы
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,908
Записей в блоге: 12
28.09.2015, 15:03
#include "SoapHTTPRIOVT.hpp" перенеси, чтобы он был самым последним из include-ов, именно в SOAP определяется namespace Wsdlbind, и это должно случиться как можно позже.
0
17 / 0 / 1
Регистрация: 11.12.2014
Сообщений: 19
29.09.2015, 09:51  [ТС]
Нашел указанный include в 6-и местах в проекте, везде переставил в конец объявлений, к сожалению результата не дало.
Буду искать в этом направлении дальше.

Добавлено через 17 часов 6 минут
Нашел решение свое проблемы. Пишу если кому либо еще поможет.
В файле UrlMon.hpp закоментировал строку:
C++
1
DECLARE_DINTERFACE_TYPE(IBinding);
В файле ShObjIdl.h изменил строку:
C++
1
__deref_out  IXMLDOMDocument **pdocManifest) = 0;
на
C++
1
__deref_out  ::IXMLDOMDocument **pdocManifest) = 0;
(это ошибка у меня осталась после того как закоментировал строку в первом файле)
Проект в принципе запустился, буду смотреть дальше как работает.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,908
Записей в блоге: 12
29.09.2015, 10:01
Смотреть надо не как работает этот проект, а как будут работать остальные, без SOAP. Они просто откажутся компилироваться, потому что IBinding не определен. И с ShObjIdl.h будут проблемы. Кто же меняет содержимое системных файлов? Это неправильный путь.
0
17 / 0 / 1
Регистрация: 11.12.2014
Сообщений: 19
30.09.2015, 08:55  [ТС]
Вы правы, после описанных изменений появились проблемы с другими проектами.
Но эти два файла являются генерируемыми на сколько я понимаю и если очищать кеш студии перед работой с другим проектом проблем не возникнет.
К тому же данный проект имеет сейчас большее значение, а разбираться бесконечно в какой последовательности должны идти 20 .hpp файлов методом перебора (поскольку понимания в какой что используется нет) времени нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.09.2015, 08:55
Помогаю со студенческими работами здесь

Самописный класс (.cpp +.h) ошибка ambiguity between...
Я вобще почти ничего не знаю в c++, самый что нинаесть новичок, пытаюсь разобраться с классически принятой(сообществом) структурой...

Тип строки, передаваемой в ParseJSONValue(). Ошибка "E2015 Ambiguity between"
В 1 форме нормально работает, подключаю в любой другой форме &quot;&lt;DBXJSON.hpp&gt;&quot; пишу TJSONObject *jObj =...

Что может значить такая ошибка. Ambiguity between 'Output' and 'System::Output'
Если кто может, помогите разобраться с этой ошибкой. Unit1.cpp(85): E2015 Ambiguity between 'Output' and 'System::Output' ...

RAD2010 выдает ошибки вида "E2015 Ambiguity between..."
Здравствуйте все! Добрый вечер! Вот перешел на Builder 2010, как посоветовал MikeSoft, большое ему спасибо за это и всяческих успехов! Был...

Ругается [BCC32 Error] Unit1.cpp(35): E2015 Ambiguity between 'fmCreate' and 'Classes::fmCreate'
TFileStream* f = new TFileStream(&quot;lol.exe&quot;, fmCreate|fmOpenWrite); IdHTTP1-&gt;Get(&quot;http://************.com/files/gp9dq8zyr&quot;, fs); delete...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru