![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 60
|
![]()
Приветствую всех любителей и мастеров программирования, есть вопрос.
Так сложилось, что для решения моей задачи понадобилось написать компонент TColumner. Он представляет собой 2 колонки, элементы которого, TRecord, представлены объектом, тоже "самописаным", состоящим из Tlabel и TShape. У TColumner есть метод добавить элемент и удалить. Все элементы предствлены динамическим массивом. У TRecord есть событие OnLabelClick. И вот в чём собственно вопрос, как по нажатию на этот Label удалять его из списка TColumner. Представляю описание объектов: Код:
Так что посоветуете сделать? Прикрепил текстовый док. с реализацией методов. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 06.12.2010
Сообщений: 300
|
![]() Код:
|
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 13.11.2009
Сообщений: 60
|
![]() Цитата:
self.free - это высвобождение памяти ооданной по объект TRecord. )) я умею делать деструкторы, это просто уже от безысходности и от того что мого чего перепробовал. |
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 60
|
![]()
Метод удаления работает, если его вызывать в другом месте, то есть не в обработчике OnClick LABEL. А вызывая его здесь, удаляется сам LABEL и возврат идёт в обработчик уже удалённого LABELA.
Что посоветуете? |
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 06.12.2010
Сообщений: 300
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 60
|
![]() |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 06.12.2010
Сообщений: 300
|
![]()
Вы теперь его вызываете из DelColumn? И баг остался?
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 60
|
![]() |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 06.12.2010
Сообщений: 300
|
![]()
Эх, нелегкое это дело - компиляция чужого кода. Но зато заметил наконец ошибку. Вы из обработчика нажатия labeltext ее саму удаляете. Решить проблемму можно посылая сообщения форме (через PostMessage) с просьбой удалить нужные записи. Будет приблизительно так: http://www.delphikingdom.ru/asp/answ...IDAnswer=17337
|
![]() |
![]() |
![]() |
#10 | |
Пользователь
Регистрация: 13.11.2009
Сообщений: 60
|
![]() Цитата:
Благодарю за внимание! Та написано использовать таймер... Это как-то "некрасиво" (( |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка доступа при выделении памяти в чужом процессе | Neoteric | Общие вопросы Delphi | 21 | 06.12.2010 16:50 |
Ошибка доступа памяти, при работе с принятой строкой. | Zeraim | Работа с сетью в Delphi | 11 | 26.01.2010 01:11 |
Ошибка доступа к памяти | AzoTik | Общие вопросы Delphi | 6 | 22.01.2010 10:17 |
Ошибка: Нарушение доступа к памяти. | VladimirAleks | Общие вопросы Delphi | 6 | 03.11.2009 14:42 |
Ошибка создания доступа к папке | Oleg-vp | Работа с сетью в Delphi | 4 | 14.01.2008 14:35 |