value : OleVariant;
value := wbCharge.OleObject.document.all.item('spwd',0);
如何判断 value 是否有值呢?
如上代码,如果 ole document 对象中没有 spwd 这个对象,那么value 的值是什么?
nil? or null? or ' '?
单步跟踪,显示 为 Null
讲真我不太明白这算什么?
if (value = Null)
if ( value = nil)
if (assigned(value))
以上这些都是不行的!!!
if VarIsEmpty(value)
这个是正解!
VarIsEmpty 以前用过,但不常用,在记忆的幽深角落不被想起
------------------------------小小分割线---------------------------------
VarlsEmpty 与 VarlsNull
他俩是一对双胞胎,长得像 但不是同一回事
都是用于判断 Variant /OleVariant 这些变体型的数据格式
区别(from delphi help):
1、VarIsNull是确定Variant变量是不是包含一个NULL值,这个变量是有值的,不过只是NULL,比如数据库字段的 null字段
2、VarIsEmpty是确定Variant变量是不是有值,没有赋过值,这时这个函数返回True