2013-03-13 3 views
4

У меня есть объект, который имеет одно значение, но это значение может быть либо integer, string, boolean, либо TDateTime. Таким образом, это Variant.Как проверить, является ли вариант TDateTime?

Я использую VarType() проверить его тип, но поскольку VarType() не имеет «varDate» или «varDateTime», я использую «varDouble», потому что, насколько я понимаю, TDateTime является double.

Но это возвращает false. Я также не могу использовать is, чтобы проверить, VariantTDateTime. Есть ли способ, или я должен сделать какую-то переменную типа, которая определяет, какой тип это значение, и использовать его для проверки?

+0

В любом случае, вам не нужно выполнять свою собственную функцию для проверки типа варианта. Для этого существует функция ['VarIsType'] (http://docwiki.embarcadero.com/Libraries/XE2/en/System.Variants.VarIsType). – TLama

ответ

7

Ваши предположения неверны; на самом деле есть varDate.

+0

Ну, теперь я не чувствую себя глупо. > _ <Спасибо. – Svip

+2

@Svip: Такие вещи случаются со мной тоже иногда! –

Смежные вопросы