Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
3 / 3 / 1
Регистрация: 14.01.2013
Сообщений: 137

Ошибка: E2015 Ambiguity between 'TButton' and 'Stdctrls::TButton'

03.06.2013, 21:28. Показов 2167. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
СОЗДАЛ КЛАС НАСЛЕДНИК TBotton
QClass.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//---------------------------------------------------------------------------
 
#ifndef QClassH
#define QClassH
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Classes.hpp>
#include <QControls.hpp>
#include <QStdCtrls.hpp>
//---------------------------------------------------------------------------
class PACKAGE Class : public TButton
   {
private:int NClick;
public: __fastcall Class(TComponent* Owner);
 
        DYNAMIC void__fastcall Click(void);
//__published:
 };
//---------------------------------------------------------------------------
#endif
QClass.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//---------------------------------------------------------------------------
 
#include <clx.h>
 
#pragma hdrstop
 
#include "QClass.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
// ValidCtrCheck is used to assure that the components created do not have
// any pure virtual functions.
//
 
static inline void ValidCtrCheck(Class *)
{
        new Class(NULL);
}
//---------------------------------------------------------------------------
__fastcall Class::Class(TComponent* Owner)
        : TButton(Owner)
{
NClick = 0;
}
 
 
 
 
void__fastcall Click Class::Click(void){
 NClick++;
Caption= Name +" ("+IntToStr(NClick)+" клацань";
 
 TButton::Click();
 
}
//---------------------------------------------------------------------------
namespace Qclass
{
        void __fastcall PACKAGE Register()
        {
                 TComponentClass classes[1] = {__classid(Class)};
                 RegisterComponents("MyClass", classes, 0);
        }
}
//---------------------------------------------------------------------------
выводит ошибку
в файле QClass.h сразу после
class PACKAGE Class : public TButton

________________________________________ ____________________________
[C++ Error] QClass.h(12): E2015 Ambiguity between 'TButton' and 'Stdctrls::TButton'
[C++ Error] QClass.h(16): E2504 'dynamic' can only be used with non-template member functions
[C++ Error] QClass.h(16): E2303 Type name expected
[C++ Error] QClass.h(16): E2139 Declaration missing ;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.06.2013, 21:28
Ответы с готовыми решениями:

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

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

Ошибка e2015 ambiguity between(double,double) в функции
Функция: void gmdh1() ; { double poly; double work; unsigned short int ind; unsigned short int ma; double rms; double ww,...

4
 Аватар для Lelik-pahan
1708 / 904 / 207
Регистрация: 25.11.2009
Сообщений: 1,850
03.06.2013, 22:52
попробуй вместо
C++
1
TButton
написать
C++
1
 ::TButton
либо
C++
1
Stdctrls::TButton
В зависимости от того, что нужно
0
3 / 3 / 1
Регистрация: 14.01.2013
Сообщений: 137
03.06.2013, 23:15  [ТС]
Цитата Сообщение от Lelik-pahan Посмотреть сообщение
попробуй вместо
C++
1
TButton
написать
C++
1
 ::TButton
либо
C++
1
Stdctrls::TButton
В зависимости от того, что нужно
если можете то помогите

есть клас

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//---------------------------------------------------------------------------
 
#ifndef ClassMH
#define ClassMH
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
//---------------------------------------------------------------------------
class PACKAGE ClassM : public TButton
{
private:
         int NClick;
protected:
public:
 
        __fastcall ClassM(TComponent* Owner);
 
        DYNAMIC void __fastcall Click(void);
 
__published:
};
//---------------------------------------------------------------------------
#endif


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//---------------------------------------------------------------------------
 
#include <basepch.h>
 
#pragma hdrstop
 
#include "ClassM.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
// ValidCtrCheck is used to assure that the components created do not have
// any pure virtual functions.
//
 
static inline void ValidCtrCheck(ClassM *)
{
        new ClassM(NULL);
}
//---------------------------------------------------------------------------
__fastcall ClassM::ClassM(TComponent* Owner)
        : TButton(Owner)
{
NClick=0;
}
 
 
 
void __fastcall ClassM::Click(void){
 NClick++;
      Caption= Name +" ("+IntToStr(NClick)+" êëàöàíü";
 
 TButton::Click();
 
}
//---------------------------------------------------------------------------
namespace Classm
{
        void __fastcall PACKAGE Register()
        {
                 TComponentClass classes[1] = {__classid(ClassM)};
                 RegisterComponents("Standard", classes, 0);
        }
}
//---------------------------------------------------------------------------
реализация

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "ClassM.cpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
ClassM *B;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
B = new ClassM(Form1);
B->Parent=Form1;
 
 
B-> Left = 70;      B->Top = 100;
B-> Width = 70;      B->Height = 100;
 
}
//---------------------------------------------------------------------------
суть в том что при нажатии на кнопку Button1 создается ещо одна кнопка и подччитывается клики по созданной кнопке

....................
а мне нужно чтобы не создавало кнопку в при нажатии на кнопку ее размер изменялся в высоту 50 в длину 100. а при обратном нажатии вазращал свое стандартное значения


если не сложно то помогите уже 2 ч сежу не могу сделать
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
04.06.2013, 05:34
Цитата Сообщение от vinovachuk Посмотреть сообщение
а мне нужно чтобы не создавало кнопку в при нажатии на кнопку ее размер изменялся в высоту 50 в длину 100. а при обратном нажатии вазращал свое стандартное значения
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int w = Button1->Width;
int h = Button1->Height;
void __fastcall TForm1::Button1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
Button1->Width = 100;
Button1->Height = 50;
 
}
void __fastcall TForm1::Button1MouseUp(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
Button1->Width = w;
Button1->Height = h;
}
либо возможно так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(Button1->Width == 100)
{
Button1->Width = w;
Button1->Height = h;
}
else
{
Button1->Width = 100;
Button1->Height = 50;
}
}
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
04.06.2013, 09:53
Цитата Сообщение от vinovachuk Посмотреть сообщение
мне нужно чтобы не создавало кнопку в при нажатии на кнопку ее размер изменялся в высоту 50 в длину 100. а при обратном нажатии вазращал свое стандартное значения
как вариант__
C++
1
2
3
  int wold=75,wnew=100,hold=25,hnew=50;
  Button1->Height = Button1->Height<hnew ? hnew : hold ;
  Button1->Width  = Button1->Width <wnew ? wnew : wold ;
аналогично можно и координаты корректировать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2013, 09:53
Помогаю со студенческими работами здесь

Ошибка "E2015 Ambiguity between 'Byte' and 'System::Byte'"
Всем привет. Суть проблемы в следующем при подключение сторонних исходников в моём проекте выходят такие ошибки Как можно...

TButton и dmAutomatic
Доброго! При включенном драг дроп (dmAutomatic) у кнопки перестает работает OnClick. А мне как раз надо,что бы был полноценный он клик...

Наследование TButton
Возник такой глупый вопрос, но решение ему не могу нагуглить: такая вот беда. Что я хочу: Наследую Tbutton и создаю свой объект на...

TButton Цикл
Здравствуйте! Я использую вот этот код __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { ...

Shared_ptr и TButton
Я приветствую всех. Захотела душа обернуть в смарт-поинтер кнопочку. Делаю так и получаю изумительный AV на мейк_шэред: ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru