1

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;
4

1 に答える 1

1

何人かの人にこれを見てもらいましたが、TClientSocket IRC セットアップを破壊する Unicode の問題があるようで、インディに移動して公式サイトからサンプルを使用したときでさえ、 onconnect イベント。

友人が、同じバージョンの indy を使用して Delphi 2010 で作成したアプリケーションのコピーを持っていたので、私は彼のプロジェクトをインポートして、動作を開始しました。

理由がわからない

于 2010-09-19T16:49:16.363 に答える