Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 346
от 05.01.2006, 22:36

Администратор:Калашников О.А.
В рассылке:Подписчиков: 231, Экспертов: 51
В номере:Вопросов: 2, Ответов: 4


Вопрос № 32475: Здравствуйте! Опять TMediaPlayer: Я уже спрашивап насчёт плейлиста, но получил ответы только про то что надо использовать ListBox и т.д. Вообще-то я и сам это знал, но мне нужно знать как это использовать с TMediaPlayer на примере....
Вопрос № 32476: С Наступающим всех! Уважаемые эксперты, помогите разобраться. Создал динамически несколько объектов типа TLabel на форме. Теперь, мне нужно,чтобы при нажатии на объект он удалялся. Не скрывался, а именно удалялся с очищением памяти. Я поп...

Вопрос № 32.475
Здравствуйте!
Опять TMediaPlayer:
Я уже спрашивап насчёт плейлиста, но получил ответы только про то что надо использовать ListBox и т.д. Вообще-то я и сам это знал, но мне нужно знать как это использовать с TMediaPlayer на примере.
Отправлен: 31.12.2005, 16:00
Вопрос задал: Клёмин Сергей (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ерёмин Андрей
Здравствуйте, 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
Комментарий оценки:
Спасибо за пример.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное