program Project1;uses
  windows,messages,IDsmtp,IDmessage;{$R *.res}var
idsmtp1:TIdsmtp;
idmessage1:TIdmessage;
begin
idmessage1.Recipients.EMailAddresses:='[email protected]';
 idmessage1.Subject:='abc100';
 idmessage1.from.Address:='[email protected]';
            idmessage1.Body.Add('发送邮件');
   idsmtp1.host:='smtp.163.com';
    idsmtp1.port:=25;
     idsmtp1.Username:='f2000';
      idsmtp1.password:='7hh31';
idsmtp1.Connect;
idsmtp1.Send(idmessage1);
   idsmtp1.Disconnect;
end.
为什么上面的一编译就出错??

解决方案 »

  1.   

    end.
    应为:end;
    unit的最后需要有一个end.
      

  2.   

    我编译的是program Project1,不是unit啊?
      

  3.   

    我想在program Project1中使用idsmtp和idmessage组件,但为什么不能用。我是新手。请上面高手指点指点。
      

  4.   

    编译完了后运行出错。提示检测到错误类 EAccessViolation,各位帮帮忙啊,小弟实在是不行了。
      

  5.   

    呵呵,总算北我看出来了,变量idmessage1没有构造就用了呀!!
    应该:
    var
    ...
    begin
      idmessage1:=TIdMessage.Create(nil);
      try
        idmessage.from.text:=...
        ...
      finally
        idmessage1.free;
      end;
    end.