14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
|
|||||||||||
1 | |||||||||||
Создание своего класса наследника TOpenDialog14.05.2015, 21:08. Показов 2204. Ответов 13
Метки нет Все метки)
(
Здраствуйте!!!
Ребят подскажите что творю не так : создаю класс-наследник объекта TOpenDialog без всяких дополнительных полей и методов т.е копия TOpenDialog для тренировки и понимания сути создания своих модифицированных объектов из базовых объектов библиотеки builder. Класс описал в хидере (ниже код прилагается) в файле реализации кострукторы и деструкторы описывать не стал. Почему? Разве класс наследник не должен наследовать коструктор и деструктор родителя? Но при попытке создать этот класс bulder выдает ошибку : W8004 'opnd' is assigned a value that is never used - 'opnd' присваивается значение которое никогда не используется. Хидер :
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
14.05.2015, 21:08 | |
Ответы с готовыми решениями:
13
Создание класса-наследника TImage
Создание своего класса от Билдерського Обращение к элементу UI своего контрола-наследника из xaml другого класса |
случайный прохожий
2312 / 1535 / 530
Регистрация: 20.07.2013
Сообщений: 4,326
|
||||||
14.05.2015, 21:22 | 3 | |||||
Беглый взгляд (я в классах до сих пор "плаваю", учили хорошо, но до меня обычно долго доходит, пусть и остается в голове, если дошло, почти навсегда):
0
|
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
|
|
14.05.2015, 21:31 [ТС] | 4 |
BRcr, попробовал добавить в файл реализации пишет что компилятор не может генерировать конструктор по умолчанию для класса 'TForm3::TMyOpenDialog'
Добавлено через 2 минуты gunslinger, я в хидере не создаю объект *opnd а объявляю переменную в классе TForm3 TMyOpenDialog *opnd Добавлено через 3 минуты gunslinger, в классах главное в суть вникнуть в codeblock свои классы писал а в builder упираюсь из за не знания некоторых вещей среды разработки.
0
|
случайный прохожий
2312 / 1535 / 530
Регистрация: 20.07.2013
Сообщений: 4,326
|
|
14.05.2015, 21:31 | 5 |
Названия совпадают, твоя "переменная" не используется. P.S.: я классы вообще не писал (к своему стыду), но живу как-то. Может, работа такая была, ООП не сильно требовалось, уже смутно помню.
1
|
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
|
|
14.05.2015, 22:34 [ТС] | 7 |
gunslinger, пардон что не то я выдал
![]() Добавлено через 9 минут BRcr, ну тогда актуально снова задать вопрос из заголовка : Разве класс наследник не должен наследовать коструктор и деструктор родителя? Добавлено через 47 минут BRcr, все равно ругается Could not find a match for 'TOpenDialog::TOpenDialog(TObject *) - не может найти соответствия для конструктора.
0
|
14.05.2015, 23:17 | 8 | |||||
Orakul, конструктор и деструктор не наследуются, а вызываются последовательно по всей цепочке иерархии наследования. Можно проще, кстати. Вот так:
1
|
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
|
|||||||||||
15.05.2015, 00:03 [ТС] | 9 | ||||||||||
Так почему же тогда при попытке создать объект класа TMyOpenDialog
компилятор ругается что не может найти контруктор TMyOpenDialog В книге написано если в родительском классе нет объектов библиотеки builder то достаточнно команды : Мой_класс переменная_класса , если в классе присутствуют родители библиотеки builder то тогда команда - Мой_класс *переменная_класса = new Мой_класс. Я так же делаю компилятор ругается то не может найти контруктор TMyOpenDialog. Хидер
0
|
Супер-модератор
![]() ![]() |
|||||||||||
15.05.2015, 00:17 | 10 | ||||||||||
Чего там у тебя не находит? Все находит:
1
|
15.05.2015, 00:27 | 11 | ||||||||||
Так работает, как и полагается:
1
|
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
|
|
15.05.2015, 00:47 [ТС] | 12 |
volvo, а откуда черпаете , если не секрет , информацию например ответ
opnDlg->OnClose = opndlgClose ; =Связываю событие OnClose с обработчиком opnDlgClose - будет точнее из темы " Где лежат файлы реализации компонентов Rad Studio XE7" у меня 4-ре книги 3 по builder но ни в одной такого не нашел , подскажите Ваши источники?
0
|
Супер-модератор
![]() ![]() |
|
15.05.2015, 00:56 | 13 |
![]() Решение
Мои источники - официальная документация на сайте производителя, исходники VCL/FMX, книги (в большинстве - англоязычные, переводной литературы мало, хорошей русскоязычной еще меньше), например серия Delphi Handbook, а также интернет-ресурсы (опять же, в основном англоязычные блоги разработчиков на Дельфи/Билдере и официальный форум Эмбаркадеро)
1
|
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
|
|
15.05.2015, 01:01 [ТС] | 14 |
Нехило
![]()
0
|
15.05.2015, 01:01 | |
Помогаю со студенческими работами здесь
14
Создание экземпляра класса-наследника для переменной с типом базового класса Создание класса –наследника
Создание базового класса и наследника Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |