procedure   TForm1.GetMxList(AMxList:   TStringList;   AQName:   string);   
  var   
  i:   Integer;   
  begin   
  with   IdDNSResolver   do     
  begin   
  Host   :=   '211.90.132.1';   
  ReceiveTimeout   :=   10000;   
  ClearVars;   
    
  with   DNSHeader   do     
  begin   
  Qr   :=   False;     
  Opcode   :=   0;     
  RD   :=   True;       
  QDCount   :=   1;     
  end;     
    
    
  DNSQDList.Clear;     
  with   DNSQDList.Add   do     
  begin   
  QName   :=   AQName;     
  QType   :=   cMX;   
  QClass   :=   cIN;     
  end;     
      
  ResolveDNS;     
    
  for   i   :=   0   to   DNSAnList.Count   -   1   do   
  AMxList.Add(DNSAnList[i].RData.MX.Exchange   +   '='   +   
  IntToStr(DNSAnList[i].RData.MX.Preference));   
  end;   
  end;   我用D7 怎么编译不过去呀,显示 ClearVars; 未定义 请高手指点一下.

解决方案 »

  1.   

    那就是你没有定义这个ClearVars;过程
    是不是从别的地方拷的代码
    先把它屏蔽了再说
      

  2.   

    屏蔽后 with  DNSHeader  do    
      begin  
      Qr  :=  False;    
      Opcode  :=  0;    
      RD  :=  True;      
      QDCount  :=  1;    
      end;    
    出错,这个是我从源码里复制出来的,那份代码是别人的,是编译成功的
      

  3.   

    不是很明显就是ClearVars没定义吗?
      

  4.   

    现在的问题 是 IdDNSResolver里根本没有ClearVars 方法.
      

  5.   

    晕,知道了,这个程序根本就不完整,不知道这样的代码,TMD是什么人传的,还说编译过了,简直放屁.
    结贴了,但没分;