TypeOf is probably considered obsolete - it is not in help and it works only on old object types with a VMT in which case it returns pointer to the VMT....how about open variant arrays (array of const)? you cannot get the type of an untyped pointer argument with any function (it's just a memory address), you have to pass some additional param identifing its type....however this is what variant open arrays actually do - they pass a parameter and a type identifier....then you'll branch on the type of the argument passed - you can get the type of an element by accessing array (when the parameter is called Args) like Args[Index].VType....