我正在尝试使用 Indy 组件在 Delphi 2010 中编写一个基本的 irc 客户端。我可以使用下面的示例 A 连接到我的 irc 服务器(unrealircd)。
连接后,我有许多程序在收到私人消息、ping、ctcp、通道模式等时应该执行操作,但它们从不对任何这些传入事件做出反应。
示例 A:当 button4 被按下时,它连接到 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;