TNMPOP3的一个错误(100分)

  • 主题发起人 主题发起人 netsong
  • 开始时间 开始时间
N

netsong

Unregistered / Unconfirmed
GUEST, unregistred user!
当邮箱的账号/密码错误时,会触发“OnAuthenticationFailed”事件,我在此事件中
换个密码重试,可是出错:“Authentication Failed!”系统错误。程序是这样写的:

procedure TFormMain.Button1Click(Sender: TObject);
begin
if NMPOP31.Connected then NMPOP31.Disconnect;
NMPOP31.Host:=edithost.text;
NMPOP31.UserID:=editname.text;
NMPOP31.Password:='aaaaaa';
NMPOP31.Connect; ============================(**)
end;

procedure TFormMain.NMPOP31Connect(Sender: TObject);
begin
showmessage('Connected!');
end;

procedure TFormMain.NMPOP31AuthenticationFailed(var Handled: Boolean);
begin
NMPOP31.Host:=edithost.text;
NMPOP31.UserID:=editname.text;
NMPOP31.Password:='bbbbbb';
Handled := True;
end;

出错指针指到(**)处。

为什么?
 
procedure TFormMain.NMPOP31AuthenticationFailed(var Handled: Boolean);
begin
NMPOP31.Host:=edithost.text;
NMPOP31.UserID:=editname.text;
NMPOP31.Password:='bbbbbb';
Handled := True;
end;
 你的错误可能是nmpop31.contect还没彻底执行完(还未执行一些例如释放内存
的程序),你就又让它执行重新执行。你可以多增加一个nmpop41控件:
procedure TFormMain.NMPOP31AuthenticationFailed(var Handled: Boolean);
begin
NMPOP41.Host:=edithost.text;
NMPOP41.UserID:=editname.text;
NMPOP41.Password:='bbbbbb';
Handled := True;
end;
它应该能正确执行
 
这个错误我也想到了,可是在添加一个nmpop3控件这个解决方法不好吧,如果在错怎么
办?而且我看了delphi中的例子,它的写法和我的类似???
 
我觉得是TNMPOP3的问题。
同样的错误密码,使用THE BAT!(DELPHI写的)会无法登陆,即使你输入正确的密码。
使用IE5的OUT LOOK就可以正确登陆。

加上两句:
NMPOP31.Host:=edithost.text;
NMPOP31.UserID:=editname.text;
NMPOP31.Password:='bbbbbb';
Handled := True;
NMPOP31.disconnect;
NMPOP31.connect;
试试。
我试了试,可以登陆了,可是该死的错误还是会弹出。
 
to jianl: 呵呵,这个方法我也试过了,就是弹出系统错误,难道是delphi的bug???
 
这样系统错误就不会弹出来了:呵呵。
try
NMPOP31.Connect; // ============================(**)
except
on Exception do
end;
 
这样虽然不会弹出系统错误,但也不重试了,在delphi调试中错误依然存在,并没有解决
 
就是就是!我也遇到这个问题!关注!
 
没人回答了?
分数少可以再加呀!!!
 
》这样虽然不会弹出系统错误,但也不重试了
第二次正确
showmessage('Connected!');
会执行呀!
奇怪的是先执行showmessage,后有异常。

>在delphi调试中错误依然存在
可以在TOOLS|DEBUG OPTIONS中不选中INTEGRATE DEBUGGING可以解决。
 
to jianl: 谢谢你的关注,这些都不能从根本上解决问题。
我这里测试怎么第二次没有任何反应?(好像是断掉了)
 
高手帮帮忙呀
 
看来只有换个控件了
 
还是用SakeMail吧,有源码,出什么问题,看源码就知道了。省得在这里猜测
TNMPOP的处理方法。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
646
import
I
后退
顶部