Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

Удаление объекта из массива по OnClick   Найти похожие ветки 

 
Reset   (2004-04-10 01:06) [0]

Я создаю массив объектов и по щелчку мышкой на любом из них он должен удалятся. А в хелпнике написано, что TObject.Free по OnClick работать не будет. Подскажите как это можно обойти?


 
jack128 ©   (2004-04-10 01:14) [1]

Я так понимаю массив контролов?
Может работать, а может и нет.. Для гарантии пость (PostMessage) какому нить окну сообщение и в обработчике этого сообщения удаляй нужный контрол

Для примера см TCustomForm.Release;


 
Reset ©   (2004-04-10 01:21) [2]

Спасибо. А то курсач горит, совсем спать перестал :)


 
Геннадий ©   (2004-04-10 09:50) [3]

Тебе нужен динамический массив (заполняемый в момент создания формы), содержаций два поля на элемент: ссылку на контрол (TObject или TPersistent или ...) и признак удаления CanDel: Boolean

В событиии он клик контрола ищешь в массиве контрол и выставляешь CanDel = True

Тайме каждую секунду сканирует массив и удаляет нужные элементы (не забудь проверку if assigned())


 
SergP ©   (2004-04-10 10:59) [4]

>Тайме каждую секунду сканирует массив и удаляет нужные элементы

Извращение.... :-((((


 
Геннадий ©   (2004-04-10 12:50) [5]


SergP ©   (10.04.04 10:59) [4]
>Тайме каждую секунду сканирует массив и удаляет нужные элементы

Извращение.... :-((((



Хорошо. Пусть тогда в событии OnClick помимо CanDel:= True, будет ещё и запуск таймера.


 
jack128 ©   (2004-04-10 12:57) [6]


> Геннадий ©   (10.04.04 12:50) [5]
Ты не понял. Извращение использовать таймер, сли можно без него.  Вообще странно, что Release введен только для Формы, лудше б его ввели сразу для TWinControl"a.  

По этому поводу вспоминаются heaper"ы (если правильно написал) из D8



Страницы: 1 вся ветка

Текущий архив: 2004.04.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
6-1074424924
elected
2004-01-18 14:22
2004.04.25
TWebBrowser Открытие нового окна в том же окне


4-1077890007
gavrila
2004-02-27 16:53
2004.04.25
Окно "Ввод пароля"


1-1081190376
KommandorDi
2004-04-05 22:39
2004.04.25
Перерисовка компонента TPaintBox


3-1080788521
Badboy
2004-04-01 07:02
2004.04.25
Добавление


7-1077776175
Ozone
2004-02-26 09:16
2004.04.25
Информация о системе