DWScript: использование события в открытом классе Delphi

Я выставил класс Delphi скриптам, используя метод TdwsUnit.ExposeRTTI. Он отлично работает с базовыми типами данных.

Однако он не работает, когда я добавляю TNotifyEvent. Мой класс Delphi имеет свойство OnChange : TNotifyEvent и при назначении этого OnChage в script я получаю сообщение об ошибке

"Syntax Error: More arguments expected!"

Похоже, компилятор script понимает, что я хочу вызвать обработчик событий вместо назначения свойства OnChange. Добавить знак "@" не помогает.

Как мой объект Delphi имеет обработчик события с кодом своего обработчика в script?

С уважением.

Ответы

Ответ 1

Я работал над этой проблемой, используя сообщения Windows. Мой сценарий теперь использует насос сообщений, и открытые экземпляры публикуют некоторые пользовательские сообщения, чтобы сообщить сценарию о том, что произошло событие. затем скрипт перезвонит Delphi-коду, чтобы узнать подробности. Конечно, мне пришлось реализовать GetMessage/PeekMessage/TranslateMessage и DispatchMessage.