Начало » Программирование » Delphi » Как поставить процедуру в очередь обработки сообщений
Как поставить процедуру в очередь обработки сообщений [сообщение #1715] |
Thu, 02 March 2023 02:44  |
Сообщений: 200 Зарегистрирован: September 2022
|
Senior Member |
|
|
Я вот какое-то время занимался кутежом и развратом с Qt и WxWidgets (C++) и там нахватался разных глупостей.
И после этого захотелось в Delphi возможности отложенного запуска процедуры после завершения текущего обработчика сообщений.
Есть же готовые процедуры, которые и так запускаются "потом". Например, Application.Terminate(). Но хочется чтобы свою и чтобы как-то универсально, для процедур с разным набором параметров. Возможно, в новомодных дельфях подобное уже возможно, с помощью дженериков и/или лямбд, но у меня дельфи старые (D2007).
Т.е., можно сделать обработчик специального сообщения окна, запаковывать параметры куда-то в кучу, а ссылку помешать в параметры сообщения. Или параметры - в глобальную область, а обработку запускать, стартуя специальный таймер с минимальным интервалом, в коде обработчика этого таймера будет вызов нужной процедуры. Но все как-то криво и одноразово.
Можно создать универсальный обработчик специального сообщения, а процедуру писать с параметром array of const... на большее фантазии не хватает.
А хочется передать и адрес процедуры, и адрес блока параметров, и чтобы компилятор контролировал типы при вызове.
?
|
|
|
Переход к форуму:
Текущее время: Sat Feb 22 23:19:49 GMT+3 2025
Общее время, затраченное на создание страницы: 0.01378 секунд
|