Delphi is a statically typed language, but there are some tricks you can use if you want to be able to do some dynamically typed coding.  In this Delphi programming tutorial we create a custom variant type (descending from TInvokeableVariantType).  We then override Get and SetProperty to handle arbitary properties (that don't exist at design time).  This video is about nine minutes long and you can watch it here.