Нужна помощь в кодировании IRC-клиента в Delphi 2010 с использованием Indy Components - PullRequest
1 голос
/ 13 сентября 2010

Я пытаюсь закодировать базовый клиент irc в Delphi 2010, используя компоненты Indy. Я могу подключиться к моему irc-серверу (unrealircd), используя приведенный ниже пример A.

После подключения у меня есть много процедур, которые должны выполнять действия при получении личного сообщения, ping, ctcp, режимах канала и т. Д., Но они никогда не реагируют ни на одно из этих входящих событий.

Образец А: Это подключается к IRC-серверу при нажатии кнопки 4. Он успешно присоединяется к каналу с указанным именем.

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;

1 Ответ

1 голос
/ 19 сентября 2010

У меня было несколько человек, которые смотрели на это, и кажется, что есть некоторые проблемы с юникодом, которые разрушили мою настройку TClientSocket irc, и даже когда я перешел в инди и использовал сэмплы с официального сайта, я все еще не мог заставить что-либо запустить например, событие onconnect.

У друга был экземпляр приложения, которое он написал в Delphi 2010 с использованием той же версии indy, и мне удалось импортировать его проект, и он начал работать.

Не уверен, почему

...