Вопрос № 32475: Здравствуйте!
Опять TMediaPlayer:
Я уже спрашивап насчёт плейлиста, но получил ответы только про то что надо использовать ListBox и т.д. Вообще-то я и сам это знал, но мне нужно знать как это использовать с TMediaPlayer на примере....Вопрос № 32476: С Наступающим всех!
Уважаемые эксперты, помогите разобраться. Создал динамически несколько объектов типа TLabel на форме.
Теперь, мне нужно,чтобы при нажатии на объект он удалялся. Не скрывался, а именно удалялся с очищением памяти.
Я поп...
Вопрос № 32.475
Здравствуйте!
Опять TMediaPlayer:
Я уже спрашивап насчёт плейлиста, но получил ответы только про то что надо использовать ListBox и т.д. Вообще-то я и сам это знал, но мне нужно знать как это использовать с TMediaPlayer на примере.
Отвечает: Ерёмин Андрей
Здравствуйте, SuperXakep!
Я реализовал функцию плей-листа в небольшом приложении. Проект в прикреплённом файле. Если что-то непонятно - спрашивайте. Удачи!
Прикреплённый файл: Загрузить >> Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа. --------- Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 31.12.2005, 16:56 Оценка за ответ: 5
Вопрос № 32.476
С Наступающим всех!
Уважаемые эксперты, помогите разобраться. Создал динамически несколько объектов типа TLabel на форме.
Теперь, мне нужно,чтобы при нажатии на объект он удалялся. Не скрывался, а именно удалялся с очищением памяти.
Я попытался в обработчик события нажатия на Label поставить Free. Это приводит к ошибке обращения памяти.
Это логично, как может объект удалить себя сам. :) Да и в Help по Delphi пишется о недопустимости
удаления объекта из обработчика его события. Но больше я вариантов придумать не могу. Спасибо.
Отправлен: 31.12.2005, 16:19
Вопрос задал: Shmel (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Ерёмин Андрей
Здравствуйте, Shmel!
Легко: FreeAndNil(Label1); --------- Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 31.12.2005, 16:37
Отвечает: Brutaller
Здравствуйте, Shmel!
Не знаю как там у вас, а лично я попробовал использовать метод Free для события OnClick для Label, никаких ошибок не возникало, объект удалялся.
procedure TForm1.Label1Click(Sender: TObject);
begin
Label1.Free;
end;
P.S. Использовал Delphi 7
Ответ отправил: Brutaller (статус: 1-ый класс)
Отправлен: 31.12.2005, 16:43 Оценка за ответ: 3 Комментарий оценки: В help по Delphi написано: Warning: Never explicitly free a component within one of its own event handlers or the event handler of a component it owns or contains. For example, don’t free a button, or the form that owns the button, in its OnClick event handler.
Отвечает: Denisss Здравствуйте, Shmel!
Не хочет удаляться в собственном обработчике, так используйте другие обработчики. В примере ниже я привел способ удаления через сообщения (только не используйте SendMessage для отправки сообщений, т.к. сообщение, отправленное этим методом будет обрабатываться до завершения обработчика OnClick, а PostMessage - после).
Удачи в Новом Году!
Приложение:
Ответ отправил: Denisss (статус: Специалист)
Отправлен: 31.12.2005, 17:12 Оценка за ответ: 5 Комментарий оценки: Спасибо за пример.