2010-09-12 5 views
1

Je tente de coder un client irc basique dans Delphi 2010 à l'aide de composants Indy. Je peux me connecter à mon serveur irc (unrealircd) en utilisant l'exemple A ci-dessous. Après la connexion, j'ai de nombreuses procédures qui devraient effectuer des actions quand il reçoit un message privé, un ping, un ctcp, des modes de canal etc. mais ils ne réagissent jamais à aucun de ces événements entrants.Aide nécessaire au codage d'un client IRC dans Delphi 2010 à l'aide de composants Indy

Exemple A: Ceci se connecte au serveur IRC lorsque vous appuyez sur le bouton 4. Il rejoint avec succès le canal avec le nom spécifié.

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; 

Ces événements ne fonctionnent pas du tout et aucune erreur n'est générée lors d'une compilation.

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; 
+0

voulez-vous dire que vos gestionnaires d'événements ne sont jamais invoqués? assurez-vous qu'ils sont associés aux événements de l'objet. –

+1

l'événement 'OnConnected' est guarateded pour être déclenché s'il a été assigné avant d'appeler Connect(). Donc, je suis avec PA en supposant que vos gestionnaires d'événements ne sont pas connectés correctement. –

Répondre

1

Ive a eu un peu de gens regardent cela, et il semble juste theres quelques problèmes unicode qui ont détruit ma configuration TClientSocket irc, et même quand je me suis déplacé à indy et a utilisé des échantillons hors du site officiel, je suis toujours incapable de obtenir quelque chose à tirer comme l'événement onconnect.

Un ami avait une copie d'une application qu'il avait écrite dans Delphi 2010 en utilisant la même version d'indy et j'ai réussi à importer son projet et il a commencé à fonctionner.

Vous ne savez pas pourquoi