You need to use reflection to find the type of the parameter:
- Call GetParameters on the method (TRttiMethod instance) to get an array of parameters. That is an array of TRttiParameter.
- On a TRttiParameter instance, use ParamType to obtain a TRttiType instance that describes the type.
- Use the Handle property of the TRttiType instance to get at the type info.
- Use that type info when calling TValue.FromOrdinal to make your TValue instance.
- Invoke your method.
- Profit!
I don't have a compiler here so I won't attempt to write code for this. Hopefully the outline above is enough for you.