У меня есть объект, который имеет одно значение, но это значение может быть либо integer
, string
, boolean
, либо TDateTime
. Таким образом, это Variant
.Как проверить, является ли вариант TDateTime?
Я использую VarType()
проверить его тип, но поскольку VarType()
не имеет «varDate» или «varDateTime», я использую «varDouble», потому что, насколько я понимаю, TDateTime
является double
.
Но это возвращает false. Я также не могу использовать is
, чтобы проверить, Variant
TDateTime
. Есть ли способ, или я должен сделать какую-то переменную типа, которая определяет, какой тип это значение, и использовать его для проверки?
В любом случае, вам не нужно выполнять свою собственную функцию для проверки типа варианта. Для этого существует функция ['VarIsType'] (http://docwiki.embarcadero.com/Libraries/XE2/en/System.Variants.VarIsType). – TLama