关于DELPHI7发送邮件的问题
**********
引用部分:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, IdAntiFreezeBase, IdAntiFreeze, IdMessage,
IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, IdBaseComponent,
IdComponent, IdUDPBase, IdUDPClient, IdDNSResolver, ComCtrls;
**********
其它省略
************
function TForm1.GetMxList(AMxList: TStringList; AQName: string):integer;
var
i: Integer;
begin
with IdDNSResolver do
begin
Host := '218.85.157.99';
ReceiveTimeout := 1000;
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;
getmxlist:=0;
try
ResolveDNS;
except
getmxlist:=1;
end;
for i := 0 to DNSAnList.Count-1 do
AMxList.Add(DNSAnList[i].RData.MX.Exchange + '=' + IntToStr(DNSAnList[i].RData.MX.Preference));
end;
end;
出现错误如下:
[Error] Unit1.pas(112): Undeclared identifier: 'ClearVars'
[Error] Unit1.pas(113): Undeclared identifier: 'DNSHeader'
[Error] Unit1.pas(115): Undeclared identifier: 'Qr'
[Error] Unit1.pas(116): Undeclared identifier: 'Opcode'
[Error] Unit1.pas(117): Undeclared identifier: 'RD'
[Error] Unit1.pas(118): Undeclared identifier: 'QDCount'
[Error] Unit1.pas(120): Undeclared identifier: 'DNSQDList'
[Error] Unit1.pas(121): 'DO' expected but identifier 'Add' found
[Error] Unit1.pas(123): Undeclared identifier: 'QName'
[Error] Unit1.pas(124): Undeclared identifier: 'QType'
[Error] Unit1.pas(125): Undeclared identifier: 'QClass'
[Error] Unit1.pas(129): Undeclared identifier: 'ResolveDNS'
[Error] Unit1.pas(133): Undeclared identifier: 'DNSAnList'
为什么啊????是版本问题么????应该如何解决。。。
[解决办法]
没有定义啊
回复内容太短了!
[解决办法]
這應該是別人的代碼吧,你拿來用。
很顯然 寫這段代碼的indy版本 與你目前的indy版本不相同
[解决办法]
没定义,就是没有uses它所在的unit
[解决办法]
这么短的全局变量名,感觉不像是indy这类控件包的,而是应用自己的unit里的