Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
Автор FAQ
 Аватар для RNT
3150 / 370 / 3
Регистрация: 08.08.2009
Сообщений: 1,126

Не получается создать класс

21.08.2009, 12:56. Показов 3573. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Решил попробовать создать свой класс , наследник класса UnicodeString:
C++
1
2
3
class TMyString : public UnicodeString
{
};
При компиляции выдает:
[BCC32 Error] Unit1.cpp(14): E2049 Class type 'TMyString' cannot be marked as __declspec(delphireturn)
Подскажите пожалуйста, что я сделал не так ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.08.2009, 12:56
Ответы с готовыми решениями:

Не получается создать класс рисования на форме
Нихрена не понимаю, пытался сделать класс для рисования, он не работал, решил тупо нарисовать - нихрена! 1) кидаю на форму picturebox...

Создать класс треугольник,(самому не получается
Создать класс треугольник, члены класса - координаты 3-х точек. Предвидеть в классе методы проверки существования треугольника, вычисление...

Не получается создать класс Account из книги Дейтелов
Задача: Создайте класс с именем Account, которым мог бы воспользоваться банк для представления банковских счетов своих клиентов. Ваш...

14
сишник
Автор FAQ
130 / 36 / 1
Регистрация: 25.07.2009
Сообщений: 291
21.08.2009, 13:04
RNT, C++ Builder Help:
Classes marked as delphireturn are special classes that the compiler needs to recognize by name. These classes are predefined in the headers.

Some of the delphireturn classes are Variant, AnsiString, and Currency.

You cannot mark user-defined classes as delphireturn.
Видимо, UnicodeString пошел от AnsiString, который переопределять нельзя.
0
Автор FAQ
 Аватар для RNT
3150 / 370 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
21.08.2009, 15:48  [ТС]
Видимо, UnicodeString пошел от AnsiString, который переопределять нельзя.
что значит переопределять нельзя ? тоесть нельзя делать наследников от UnicodeString ?

Добавлено через 2 часа 36 минут 6 секунд
Помогите !
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
21.08.2009, 15:53
RNT, а не проще тебе не наследовать этот класс, а просто использовать в своем классе его объекты? потому что действительно не хочет билдер такое наследование разрешать
1
Автор FAQ
 Аватар для RNT
3150 / 370 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
21.08.2009, 15:58  [ТС]
А почему билдер не разрешает наследование ?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
21.08.2009, 16:13
RNT, может тебе это что-то подскажет:
Объявления компонентных классов

Опережающие объявления классов Библиотеки Визуальных Компонент VCL, входящей в состав C++Builder, используют модификатор _declspec:

_declspec(<спецификатор>)

Это ключевое слово может появляться в любом месте перечня объявлений, а не только непосредственно перед модифицируемым объявлением, причем спецификатор принимает одно из следующих значений:

delphiclass используется для опережающего объявления прямых или косвенных производных от VCL класса TObject. Он определяет правила совместимости VCL при обращении с RTTI, конструкторами, деструктором и исключениями.

delphireturn используется для опережающего объявления прямых или косвенных производных от VCL классов Currency, AnsiString, Variant, TDateTime и Set. Он определяет правила совместимости VCL при обращении с параметрами и возвращаемыми значениями функций-членов.

pascalimplementation указывает, что компонентный класс реализован на Объектном Паскале.

VCL класс имеет следующие ограничения:

• Запрещено наследование виртуальных базовых классов.

• Компонентные классы сами не могут служить базовыми классами для наследования.

• Компонентные объекты создаются в динамической памяти кучи с помощью оператора new.
0
Автор FAQ
 Аватар для RNT
3150 / 370 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
21.08.2009, 20:32  [ТС]
delphireturn используется для опережающего объявления прямых или косвенных производных от VCL классов Currency, AnsiString, Variant, TDateTime и Set. Он определяет правила совместимости VCL при обращении с параметрами и возвращаемыми значениями функций-членов.
Я попробовал сделать так:
C++
1
2
3
__declspec(<delphireturn>) class TMyString : public UnicodeString
{
};
Компилятор выдает следующее:
[BCC32 Error] Unit1.cpp(12): E2494 Unrecognized __declspec modifier
Покажите пожалуйста на примере , как надо правильно писать.

Добавлено через 4 часа 5 минут 29 секунд
Еще актуально ! Подскажите как сделать класс-наследник UnicodeString.
0
 Аватар для Airhand
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
22.08.2009, 12:24
Тебе уже сказали несколько раз: нельзя отнаследовать от UnicodeString.
0
Автор FAQ
 Аватар для RNT
3150 / 370 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
22.08.2009, 12:42  [ТС]
Тебе уже сказали несколько раз: нельзя отнаследовать от UnicodeString.
Почему ?
0
 Аватар для Airhand
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
22.08.2009, 12:47
Тебе тоже уже сказали: нельзя наследовать от AnsiString, а он, наверное, предок UnicodeString.
0
Автор FAQ
 Аватар для RNT
3150 / 370 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
22.08.2009, 12:59  [ТС]
Тебе тоже уже сказали: нельзя наследовать от AnsiString, а он, наверное, предок UnicodeString
Если нельзя унаследовать от AnsiString , то как он может стать предком UnicodeString ?
0
 Аватар для Airhand
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
22.08.2009, 13:03
Когда конструировали (писали) можно было, а потом запретили.
0
Автор FAQ
 Аватар для RNT
3150 / 370 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
22.08.2009, 13:05  [ТС]
А почему запретили ? Коммерческая тайна чтоли ?
0
640KB мне хватило на всё.
119 / 50 / 3
Регистрация: 07.06.2009
Сообщений: 442
22.08.2009, 21:03
Цитата Сообщение от Airhand Посмотреть сообщение
Тебе тоже уже сказали: нельзя наследовать от AnsiString, а он, наверное, предок UnicodeString.
А как тогда UnicodeString унаследовал AnsiString ?

Может в предках где-то что-то виртуальное, и надо обязательно сделать определение?
Может нужен конструктор?

И вообще, как Unicode может быть основан на Ansi? Они ж требуют разной разрядности для символов!
1
Автор FAQ
 Аватар для RNT
3150 / 370 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
22.08.2009, 21:25  [ТС]
Может в предках где-то что-то виртуальное, и надо обязательно сделать определение?
Я посмотрел класс UnicodeString в справке. Виртуальных элементов не нашел
Может нужен конструктор?
Попробовал так , все равно не компилится:
C++
1
2
3
4
5
class TMyString : public UnicodeString
{
public:
    TMyString();
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.08.2009, 21:25
Помогаю со студенческими работами здесь

Не получается заполнить массивы. Создать класс студент
Пожалуйста помогите найти ошибку в коде. Выдает ошибку на выполнении. #pragma warning(disable:4996) #include &lt;iostream&gt; ...

Не получается создать класс миграции через PowerShell
Всем доброго утра)) Есть проект онлайн магазин на .net core 3.0.1 файл.csproj &lt;Project Sdk=&quot;Microsoft.NET.Sdk.Web&quot;&gt; ...

Создать класс ListPayment (зарплата) что-то не получается дописать программу
//Создать класс ListPayment (зарплата). В классе содержится список сотрудников, для которых рассчитывается заработная плата. //Сотрудник...

Создать класс строк с выводом на экран элемента массива по заданному индексу . Не получается вывести элемент
Не получается вывести выбранный элемент по заданному индексу:cry::-|. Выводит ошибку. Помогите пожалуйста. #include &lt;iostream&gt; ...

Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо
Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо. Дополнительно есть марка,...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
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, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
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 Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru