![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как убить объект из его же метода? [D7]
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;
Где-то у меня завалялся более красивый вариант, если нужно - могу покопаться, привести.