1
我试图使用Indy组件编写Delphi 2010中的基本irc客户端。 我能够使用下面的示例A连接到我的irc服务器(unrealircd)。帮助需要使用Indy组件编写Delphi 2010中的IRC客户端
连接后我有许多程序应该在收到私人消息,ping,ctcp,通道模式等时执行操作,但它们从不对任何这些传入事件作出反应。
样本A: 当按钮4被按下时,它连接到IRC服务器。 它成功加入了指定名称的频道。
procedure TForm1.Button4Click(Sender: TObject);
begin
IdIRC1.Host := '72.20.53.142';
IdIRC1.Port := 6667;
IdIRC1.Nickname := ssh.frmmain.Edit1.text;//insert your nickname here
try
idIRC1.Connect;
except
if not idIRC1.Connected then
begin
Memo2.Lines.add('Error Connecting to ' + idIRC1.Host);
Exit;
end;
end;
Memo2.Lines.add ('Connected to Auth Server');
idIRC1.Join(channel,key);
Memo2.Lines.add ('Auth Accepted');
end;
这些事件根本不起作用,在编译过程中不会产生错误。
procedure TForm1.IdIRC1Connected(Sender: TObject);
begin
memo2.Lines.Clear;
memo2.Lines.add ('2Connected');
end;
procedure TForm1.IdIRC1ServerVersion(ASender: TIdContext; Version, Host, Comments: String);
begin
memo2.Lines.Add(Version +'Host '+Host+'Comments '+Comments);
end;
你的意思是你的事件处理程序从不被调用?确保它们与对象中的事件相关联。 – 2010-09-13 14:01:31
如果在调用Connect()之前分配了'OnConnected'事件,则会触发'OnConnected'事件。所以我和PA在假设你的事件处理程序实际上没有正确连接。 – 2010-09-13 19:59:25