Socket asynchrone .net2

Signaler
Messages postés
2
Date d'inscription
dimanche 4 janvier 2004
Statut
Membre
Dernière intervention
18 septembre 2006
-
Messages postés
2
Date d'inscription
dimanche 4 janvier 2004
Statut
Membre
Dernière intervention
18 septembre 2006
-
Bonsoir,

Je créé un programme de chat en c++ .net2, j'utilise les socket asynchrone et lorsque je compile VS 2005 me sort une erreure sur mon appelle de la fonction callback.

code:

   socket->BeginSend(data,0,data->Length,SocketFlags::None,AsyncCallback(&Client::CallBackEnvoie),socket);

erreur:
   error C3374: can't take address of 'Client::CallBackEnvoie' unless creating delegate instance

Voila j'espére que quelqu'un pourra m'aider et merci d'avance.

2 réponses

Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
Salut,

Il manque pas un new dans ton affaire ?

Comme le dis le message d'erreur, il faut instancier une delegate, on
ne peut pas passer un pointeur directement comme on le ferait en C/C++.
Messages postés
2
Date d'inscription
dimanche 4 janvier 2004
Statut
Membre
Dernière intervention
18 septembre 2006

Salut,


ouais il manque bien un gcnew j'ai oublier de le rettapper apres avoir essayer de résoudre mon probleme .C'est l'erreur la qui me poser probleme au debut .

code modifier:
   socket->BeginSend(data,0,data->Length,SocketFlags::None,gcnew AsyncCallback(&Client::CallBackEnvoie),socket);

erreur:
   error C3352: 'void Client::CallBackEnvoie(System::IAsyncResult ^)' : the specified function does not match the delegate type 'void (System::IAsyncResult ^)'

Merci d'avance.