procedure TForm2.OKClick(Sender: TObject);
 var
 result: integer;
begin
   form2.Table1.Open;
   result:=form2.Table1.lookup('name;pasword',vararrayof([edit1.text,edit2.text]),'degree') ;
    begin
    if result<>0 then
     begin
      showmessagefmt('%d',[result]);
      form2.Hide;
      form1.show; end
      else
      showmessage('出错了。');
 end  ;
 end;
如果lookup查不到用户和密码返回nil,if语句不能够成立。请问如果我还想用lookup
这个程序怎么改

解决方案 »

  1.   

    if result <> nil then
    ....你的另一个贴子里怎么也是这个问题?
      

  2.   

    你的result: integer;要改为:
    result:Variant;
      

  3.   

    procedure TForm2.OKClick(Sender: TObject);
     var
     result: variant;
    begin
       form2.Table1.Open;
       result:=form2.Table1.lookup('name;pasword',vararrayof([edit1.text,edit2.text]),'degree') ;
        begin
        if result<> nil then
         begin
          showmessagefmt('%d',[result]);
          form2.Hide;
          form1.show; end
          else 
          showmessage('出错了。');
     end  ;
     end;
    还是不行,保错说Incompatible types( 不兼容的类型),万分感谢易水寒心
      

  4.   

    Delphi种判断一个变量是否为Null的函数是:
    function VarIsNull(const V: Variant): Boolean;
      

  5.   

    我帮试过了,是
    if result<> NULL then
    ...
    编译通过,可以了
      

  6.   

    感谢 vuen(易水寒心)和hhaibin(小海) 
    2中方法都通过了
    ,请问vuen(易水寒心)在delphi中不是用nil代替、null吗
    ,为什么刚才if result<> nil then,不可以通过
    而if result<> NULL then通过