J'ai une classe de type form dans laquelle sur clic bouton, j'instancie un
TCPClient.
J'aimerai que lorsque mon serveur recoit des données, il transmette
l'information à la classe qui l'a instancié (par exemple j'affiche le retour
serveur dans une textbox sur la form). J'ai l'impression que je dois utiliser
les délégates et les events mais je n'y arrive pas.
Ne donnez pas des solutions possibles, ni vos problèmes d'implémentation d'une solution, mais votre problème initial.
-- Paul Bacelar
"Dimitri Travailloux" wrote in message news:
Bonjour
J'ai une classe de type form dans laquelle sur clic bouton, j'instancie un TCPClient.
J'aimerai que lorsque mon serveur recoit des données, il transmette l'information à la classe qui l'a instancié (par exemple j'affiche le
retour
serveur dans une textbox sur la form). J'ai l'impression que je dois
utiliser
les délégates et les events mais je n'y arrive pas.
Pouvez-vous m'aider ou m'éclairer ? Merci bien
Sebastien Curutchet
Dimitri Travailloux wrote:
Bonjour
J'ai une classe de type form dans laquelle sur clic bouton, j'instancie un TCPClient.
J'aimerai que lorsque mon serveur recoit des données, il transmette l'information à la classe qui l'a instancié (par exemple j'affiche le retour serveur dans une textbox sur la form). J'ai l'impression que je dois utiliser les délégates et les events mais je n'y arrive pas.
Pouvez-vous m'aider ou m'éclairer ? Merci bien
Dans ce genre de cas as tu essayé :
class A { public delegate void MonEventHandler(); public event MonEventHandler MonEvent;
public A() { this.MonEvent += new MonEventHandler(A_MonEvent); }
private void A_MonEvent() { OnMonEvent(); }
protected virtual void OnMonEvent() { // Fait quelque chose pour la classe A } }
class B : A { protected override void OnMonEvent() { // Fait quelque chose pour la classe B } }
Dimitri Travailloux wrote:
Bonjour
J'ai une classe de type form dans laquelle sur clic bouton, j'instancie un
TCPClient.
J'aimerai que lorsque mon serveur recoit des données, il transmette
l'information à la classe qui l'a instancié (par exemple j'affiche le retour
serveur dans une textbox sur la form). J'ai l'impression que je dois utiliser
les délégates et les events mais je n'y arrive pas.
Pouvez-vous m'aider ou m'éclairer ?
Merci bien
Dans ce genre de cas as tu essayé :
class A
{
public delegate void MonEventHandler();
public event MonEventHandler MonEvent;
public A()
{
this.MonEvent += new MonEventHandler(A_MonEvent);
}
private void A_MonEvent()
{
OnMonEvent();
}
protected virtual void OnMonEvent()
{
// Fait quelque chose pour la classe A
}
}
class B : A
{
protected override void OnMonEvent()
{
// Fait quelque chose pour la classe B
}
}
J'ai une classe de type form dans laquelle sur clic bouton, j'instancie un TCPClient.
J'aimerai que lorsque mon serveur recoit des données, il transmette l'information à la classe qui l'a instancié (par exemple j'affiche le retour serveur dans une textbox sur la form). J'ai l'impression que je dois utiliser les délégates et les events mais je n'y arrive pas.
Pouvez-vous m'aider ou m'éclairer ? Merci bien
Dans ce genre de cas as tu essayé :
class A { public delegate void MonEventHandler(); public event MonEventHandler MonEvent;
public A() { this.MonEvent += new MonEventHandler(A_MonEvent); }
private void A_MonEvent() { OnMonEvent(); }
protected virtual void OnMonEvent() { // Fait quelque chose pour la classe A } }
class B : A { protected override void OnMonEvent() { // Fait quelque chose pour la classe B } }
Dimitri TRAVAILLOUX
Bonjour
J'ai effectivement réussi à mettre en place ce que je voulais grâce aux délégués et aux events.
Dans ma classe Form1.Cs qui instancie le TcpClient
TCPClient() CoreClient = new TCPClient(); CoreClient.OnSendMessage += new ServerEventHandler(this.TryConnectToServer); private void TryConnectToServer(string str) { ...mon traitement }
Dans ma classe TCPClient.cs j'ai fait
namespace NeoClient.Network { public delegate void ServerEventHandler(string msg); .... public class TCPClient { public event ServerEventHandler OnSendMessage; ... j'utilise ensuite mon event comme cela
OnSendMessage("user:xxx:xxxxx"); ....
Sympa ces délégués et events.
Merci pour ton aide Sébastien
"Sebastien Curutchet" a écrit dans le message de news:
Dimitri Travailloux wrote:
Bonjour
J'ai une classe de type form dans laquelle sur clic bouton, j'instancie un TCPClient.
J'aimerai que lorsque mon serveur recoit des données, il transmette l'information à la classe qui l'a instancié (par exemple j'affiche le retour serveur dans une textbox sur la form). J'ai l'impression que je dois utiliser les délégates et les events mais je n'y arrive pas.
Pouvez-vous m'aider ou m'éclairer ? Merci bien
Dans ce genre de cas as tu essayé :
class A { public delegate void MonEventHandler(); public event MonEventHandler MonEvent;
public A() { this.MonEvent += new MonEventHandler(A_MonEvent); }
private void A_MonEvent() { OnMonEvent(); }
protected virtual void OnMonEvent() { // Fait quelque chose pour la classe A } }
class B : A { protected override void OnMonEvent() { // Fait quelque chose pour la classe B } }
Bonjour
J'ai effectivement réussi à mettre en place ce que je voulais grâce aux
délégués et aux events.
Dans ma classe Form1.Cs qui instancie le TcpClient
TCPClient() CoreClient = new TCPClient();
CoreClient.OnSendMessage += new ServerEventHandler(this.TryConnectToServer);
private void TryConnectToServer(string str)
{
...mon traitement
}
Dans ma classe TCPClient.cs j'ai fait
namespace NeoClient.Network
{
public delegate void ServerEventHandler(string msg);
....
public class TCPClient
{
public event ServerEventHandler OnSendMessage;
...
j'utilise ensuite mon event comme cela
OnSendMessage("user:xxx:xxxxx");
....
Sympa ces délégués et events.
Merci pour ton aide Sébastien
"Sebastien Curutchet" <sebastien.curutchet@tns-global.com> a écrit dans le
message de news: O98tRw3VFHA.2984@tk2msftngp13.phx.gbl...
Dimitri Travailloux wrote:
Bonjour
J'ai une classe de type form dans laquelle sur clic bouton, j'instancie
un TCPClient.
J'aimerai que lorsque mon serveur recoit des données, il transmette
l'information à la classe qui l'a instancié (par exemple j'affiche le
retour serveur dans une textbox sur la form). J'ai l'impression que je
dois utiliser les délégates et les events mais je n'y arrive pas.
Pouvez-vous m'aider ou m'éclairer ?
Merci bien
Dans ce genre de cas as tu essayé :
class A
{
public delegate void MonEventHandler();
public event MonEventHandler MonEvent;
public A()
{
this.MonEvent += new MonEventHandler(A_MonEvent);
}
private void A_MonEvent()
{
OnMonEvent();
}
protected virtual void OnMonEvent()
{
// Fait quelque chose pour la classe A
}
}
class B : A
{
protected override void OnMonEvent()
{
// Fait quelque chose pour la classe B
}
}
J'ai effectivement réussi à mettre en place ce que je voulais grâce aux délégués et aux events.
Dans ma classe Form1.Cs qui instancie le TcpClient
TCPClient() CoreClient = new TCPClient(); CoreClient.OnSendMessage += new ServerEventHandler(this.TryConnectToServer); private void TryConnectToServer(string str) { ...mon traitement }
Dans ma classe TCPClient.cs j'ai fait
namespace NeoClient.Network { public delegate void ServerEventHandler(string msg); .... public class TCPClient { public event ServerEventHandler OnSendMessage; ... j'utilise ensuite mon event comme cela
OnSendMessage("user:xxx:xxxxx"); ....
Sympa ces délégués et events.
Merci pour ton aide Sébastien
"Sebastien Curutchet" a écrit dans le message de news:
Dimitri Travailloux wrote:
Bonjour
J'ai une classe de type form dans laquelle sur clic bouton, j'instancie un TCPClient.
J'aimerai que lorsque mon serveur recoit des données, il transmette l'information à la classe qui l'a instancié (par exemple j'affiche le retour serveur dans une textbox sur la form). J'ai l'impression que je dois utiliser les délégates et les events mais je n'y arrive pas.
Pouvez-vous m'aider ou m'éclairer ? Merci bien
Dans ce genre de cas as tu essayé :
class A { public delegate void MonEventHandler(); public event MonEventHandler MonEvent;
public A() { this.MonEvent += new MonEventHandler(A_MonEvent); }
private void A_MonEvent() { OnMonEvent(); }
protected virtual void OnMonEvent() { // Fait quelque chose pour la classe A } }
class B : A { protected override void OnMonEvent() { // Fait quelque chose pour la classe B } }