Как настроить обработчики событий через новый RTTI?[Д2010]
-
18-09-2019 - |
Вопрос
Играя с новым модулем RTTI, я не смог найти способ настроить обработчик событий с помощью новых утилит.Пробую что-то вроде этого:
LProp := TRttiContext.Create.GetType(Form1.ClassInfo).AsInstance.GetProperty('OnClick');
LProp.SetValue(Form1, {a TValue!});
SetValue необходимо передать TValue, но мне еще предстоит найти способ представить TMethod через TValue.Любые комментарии?
пс.И побочный вопрос..Кажется, добавление к переменным RTTI префикса «L» - это соглашение (и, по моему мнению, хорошее, метакод очень быстро превращается в головоломку).Но что это на самом деле означает?
Решение
Вы можете заставить TValue содержать значение произвольного типа с помощью метода From.Попробуйте что-то вроде этого:
lValue := TValue.From<TNotifyEvent>(eventHandler);
Кстати, я думаю, что L просто означает ллокальная переменная.
Не связан с StackOverflow