首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Variant 比较不同结果,有遇到的TX没

2013-04-20 
Variant 比较不同结果,有碰到的TX没?代码如下:我自己机器上编译后显示 “Bigger than”。但是在另一位同事编

Variant 比较不同结果,有碰到的TX没?
代码如下:
我自己机器上编译后显示 “Bigger than”。
但是在另一位同事编译后,在 if 那里就报地址错误了。
我和他都是用 D6 的,就是不知道会被什么影响。
由于我和他碰头不方便,联系也不是很方便,所以暂时没法比对双方的开发环境。
不晓得,有没有TX碰到过这种情况?

procedure TForm1.Button1Click(Sender: TObject);
var
  v1,v2:Variant;
begin
  v1 := Now;
  v2 := Null;
  if v1 > v2 then
    ShowMessage('Bigger than') // Here will display.
  else
    ShowMessage('Failure');
[解决办法]
v2 := Null; 改为v2 := 0;
nil是空地址,v1是time
[解决办法]
使用VarCompareValue函数吧.
或者你自己写照写一个VarCompareValue函数, 把null的处理扩展一下.
你直接用逻辑运算符对比不相干的值, 本身就玩不转
[解决办法]
可能是NullStrictConvert导致的,这个是Variant单元中的全局变量,当其设为True时,Null的转换都会导致产生异常EVariantTypeCastError

热点排行