Главная страница
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.48 MB
Время: 0.047 c
1-1081159682
Ivolg
2004-04-05 14:08
2004.04.25
Запехнуть в массив


7-1076865094
Delphin
2004-02-15 20:11
2004.04.25
Как програмно завершить процесс ?


1-1081448039
Moroz
2004-04-08 22:13
2004.04.25
Строки


1-1081571033
zsv
2004-04-10 08:23
2004.04.25
Запуск chm и hlp файлов


4-1077900302
PVR
2004-02-27 19:45
2004.04.25
Как получить список импортируемых модулей