объекты созданные в ран-тайме...
Вот у меня есть класс TObj
Tobj = class(TObject)
Form: TForm;
public
constructor Create;
destructor Destroy; override;
end;
Я создаю TObj и помещаю его в LIST_FORMS: TObjectList<Tobj>;
Далее.. К примеру создано несколько таких TObj, как мне их уничтожить с помощью таймера через 10 сек их существования?
К примеру создал 10 TObj.
Теперь мне нужно в таймере отсчитать 10 сек и LIST_FORMS.Delete(x);
Но проблема в том, что создаются TObj не одновременно..
Что бы было проще понять, я пытаюсь сделать уведомления, на подобии qip 2005, когда сбоку выходит окошко с текстом. и через некоторое время это окошко нужно удалить...
Как я и говорил, моя проблема в том, что я не могу понять, как мне отсчитывать допустим 10 сек и удалять окно, которое просуществовало 10 сек. А остальные должны дожидаться своих 10 сек))
Извините если плохо объяснил
1. добавь к Tobj поле время_добавления_в_список 2. настрой таймер на срабатывание через 1 секунду 3. при срабатывании таймера сравни разницу между текущим временем и время_добавления_в_список каждого объекта. если она 10 и более секунд - удаляй объект PS начинай просматривать свой список перед удалением с конца
хм, точно)))) пасиб) а почему именно с конца?
потому что бежать по списку ты будешь скорее всего с помощью for/forin и при удалении элемента индексация у тебя собъется (элементы переместятся в начало списка на 1) и ты выйдешь за пределы списка
Ок, понял, спасибо Виктор)💪 выручил)
очень частые и неочевидные для новичка грабли :)
может уведомления пусть сами умирают, так не проще ли, чем список городить и бегать по нему?
Ну, это ж ты не легаси предлагаешь.. Изыди, лукавый.. 😂🙈
Обсуждают сегодня