Domanda

Giocando con il nuovo modulo di RTTI, non riuscivo a trovare un modo per impostare un gestore di eventi con le nuove utilità. Cercando qualcosa di simile:

LProp := TRttiContext.Create.GetType(Form1.ClassInfo).AsInstance.GetProperty('OnClick');
LProp.SetValue(Form1, {a TValue!}); 

ImpostaValore ha bisogno di un TValue passato ma ho ancora trovare un modo per rappresentare un TMethod tramite un TValue. Eventuali commenti?

ps. E una domanda lato .. Sembra prefisso variabili RTTI con "L" è una convenzione (e una buona IMO, meta codice si trasforma in un puzzle reale veloce). Ma che cosa realmente rappresenta?

È stato utile?

Soluzione

È possibile effettuare TValue contiene un valore di un tipo aribtrary con il Dal metodo. Provare qualcosa di simile:

lValue := TValue.From<TNotifyEvent>(eventHandler);

A proposito penso che la L significa solo un L variabile ocal.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top