Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как убить объект из его же метода? [D7]


Страницы:   1 2 3 4 5 6

Ega23 ©   (2007-10-12 13:17:00) 

Собственно, сабж.

Есть идея с PostMesage  WM_DESTROY, но возникает вопрос - а если это не "оеонный" класс?


Ins   (2007-10-12 13:35:00) [101]

И еще вариант. Заводим специальное message-only окошко, и посылаем PostMessage ообщения ему.


Ins   (2007-10-12 13:32:00) [102]

Очень интересный вариант привел DRON здесь:

http://www.delphikingdom.com/asp/answer.asp?IDAnswer=40427


> А если Application нет?

А цикл выборки сообщений есть? Если есть, то внутри его то же самое.


Ega23   (2007-10-12 13:30:00) [103]

Интересный вариант.
А если Application нет?


Ins   (2007-10-12 13:27:00) [104]


> но возникает вопрос - а если это не "оеонный" класс?

Например так:
1. Посылаем сообщение (WM_USER + 1 хотя бы) PostThreadMessage своему потоку, передавая параметром (например, wParam) Self.
2. В обработчике Application.OnMessage если пришло сообщение WM_USER + 1 вызываем TObject(wParam).Free;

Где-то у меня завалялся более красивый вариант, если нужно - могу покопаться, привести.


Страницы:   1 2 3 4 5 6

Наверх

Титульная страница Поиск, карта сайта Написать письмо