Как настроить обработчики событий через новый RTTI?[Д2010]

StackOverflow https://stackoverflow.com/questions/1482461

  •  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 просто означает ллокальная переменная.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top