Buongiorno a tutti,
sto scrivendo un applicazione win32 console con Embarcadero C++ Builder 2010 ed Indy10, che deve ricevere dei pacchetti UDP.
Ho usato con successo l'oggetto "TIdUDPServer" in programmi Windows ed adesso vorrei usarlo nel programma "console".
L'oggetto TIdUDPServer ha l'event handler "OnUDPRead" che viene generato alla ricezione dei pacchetti. Come faccio ad assegnare all'evento una mia funzione ?
Ho provato a fare semplicemente us->OnUDPRead=TUDPReadEvent(evento_rx_UDP);
Ma il compilatore dà l'errore "E2031 Cannot cast from 'TUDPReadEvent' to 'TUDPReadEvent'
Qualche suggerimento?
Ecco il programma completo:
TIdUDPServer *us;
TUDPReadEvent evento_rx_UDP(TIdUDPListenerThread *AThread, TIdBytes AData, TIdSocketHandle *ABinding)
{ // corpo funzione
return 0;
}
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
us=new TIdUDPServer(NULL);
us->Bindings->Clear();
us->Bindings->Add();
us->Bindings->Items[0]->IP="192.168.1.6";
us->Bindings->Items[0]->Port=30000;
us->OnUDPRead=TUDPReadEvent(evento_rx_UDP); // errore di compilazione : E2031 Cannot cast from 'TUDPReadEvent' to 'TUDPReadEvent'
us->Active=true;
Sleep(1000);
us->Active=false;
delete us;
return 0;
}