Ответ 1
Свойство TParam.AsInteger
, например, задает значение и тип данных параметра. TParam.Value
делает то же самое, но TParam
решит, какой тип будет отображаться в значение внутри Variant
, и не всегда это тип данных, который вы хотели бы.
Я советую вам устанавливать значения только с помощью свойств AsXXX
, так как вы будете контролировать тип данных параметров, что может спасти вас от ошибок привязки параметров.
Итак, отвечая на ваш последний вопрос: нет, значения не будут преобразованы в нужный тип данных, вы должны установить тип данных, выбрав подходящее свойство, чтобы назначить значение.