SQLRU.net
Разработка приложений баз данных

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

?
 
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Предыдущая тема: LMD 2016.5 под Delphi 11.3
Следующая тема: Сохранение открытого документа OpenOffice
Переход к форуму:
  


Текущее время: Sun Apr 28 01:31:11 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00706 секунд