![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 06.06.2009
Сообщений: 259
|
![]()
Чето не доходит до меня как правильно в классах обращаться к компонентам..
Вот содаю класс Код:
Работает но когда закрываешь программу вылазеит ошибка длинная,что то в модуле Project
Если я тебе помог
![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
неплохо бы написать что за ошбка, рас уж не смог перевести..
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 06.06.2009
Сообщений: 259
|
![]()
Exception EAccessViolation in module Project2.exe at 000135AA.
Access violation at address 004135AA in module 'Project2.exe'.Read of address 00000008.
Если я тебе помог
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Все правильно. Edit это класс и следовательно тоже нуждается в создании.
Код:
Код:
![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 04.05.2010 в 14:08. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
вот то что должно было быть
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 04.05.2010 в 14:49. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 06.06.2009
Сообщений: 259
|
![]()
А что делает
Inherited Create; ??
Если я тебе помог
![]() |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 06.06.2009
Сообщений: 259
|
![]()
Спасибо))))))))))
Если я тебе помог
![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Создает предка для твоего класса. Обычно используется если ты наследуешься не от TObject. А скажем от того же TEdit. Он тоже имеет свои поля и ему их нужно инициализировать. Этой командой ты даешь ему такую возможность. Именно поэтому она обычно самая первая в конструкторе. Ну а далее, когда твой предок создан, можешь уже инициализировать свои поля.
ЗЫ. Программирование по посту #5 противопоказано - твой класс не сможет жить без данной формы, это равносильно как прописывать все действия в самой форме, не используя класс. Правила хорошего тона говорят о том, что класс должен быть максимально автономен от остальных элементов программы. В твоем случае вполне возможно создать такой TopMy, который бы работал с любой формой. И даже не с формой, а с любым объектом, имеющим клиентскую область (где могут рисоваться компоненты).
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 04.05.2010 в 14:50. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 06.06.2009
Сообщений: 259
|
![]()
Понял спасибо
Если я тебе помог
![]() |
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Цитата:
begin Inherited Create; Edit1:=TEdit.Create(Sender); edit1.Text:=IntToStr(o); ***Тело конструктора end; аналогично храним ссылку на внешний компонент TEdit.Create(Sender) настолько же опасно как и Код:
в любом случае легко решается изменением базового класса Tobject на Tcomponnt
программа — запись алгоритма на языке понятном транслятору
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ООП.Ошибка в манипуляторах | And_DaviD | Общие вопросы C/C++ | 13 | 12.02.2010 23:42 |
ООП:Ошибка при компиляции в C++Builder | RABERT | C++ Builder | 1 | 19.12.2009 20:36 |
В чем ошибка? | Beka | Помощь студентам | 11 | 25.11.2009 15:36 |
Паскаль ООП. Примеры программ с использованием ООП | SeЯgey | Помощь студентам | 5 | 13.05.2009 21:55 |