Socket asynchrone .net2

snake9 Messages postés 2 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 18 septembre 2006 - 17 sept. 2006 à 22:34
snake9 Messages postés 2 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 18 septembre 2006 - 18 sept. 2006 à 07:02
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

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
18 sept. 2006 à 02:41
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++.
0
snake9 Messages postés 2 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 18 septembre 2006
18 sept. 2006 à 07:02
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.
0
Rejoignez-nous