一函数在定义返回类型时设为:variant,根据条件的不同其返回的类型有二种:integer,跟boolean,请问怎么检测返回值是哪种类型?

解决方案 »

  1.   

    VarType():返回varBoolean或varInteger,判断一下就行了
      

  2.   

    function(a:integer):boolean;overload;
    function(a:integer):integer;overload;
      

  3.   

    varType 返回值定义在Variants单元 TVarType中:
      varEmpty    = $0000;
      varNull     = $0001;
      varSmallint = $0002;
      varInteger  = $0003;
      varSingle   = $0004;
      varDouble   = $0005;
      varCurrency = $0006;
      varDate     = $0007;
      varOleStr   = $0008;
      varDispatch = $0009;
      varError    = $000A;
      varBoolean  = $000B;
      varVariant  = $000C;
      varUnknown  = $000D;
      varShortInt = $0010;
      varByte     = $0011;
      varWord     = $0012;
      varLongWord = $0013;
      varInt64    = $0014;
      varStrArg   = $0048;
      varString   = $0100;
      varAny      = $0101;
      varTypeMask = $0FFF;
      varArray    = $2000;
      varByRef    = $4000;