Ciao a tutti,
stavo cercando di capire un programma scritto da altre persone, ma sono veramente anni luce distante dalle conoscenze di chi lo ha scritto.
Il primo dubbio che ho riguarda il parametro passato ad una funzione.
questo e` il prototipo della funzione in oggetto:
A parte che non so il significato di AFX_CDECL , ho notato che tale funzione richiede il parametro di tipo LPVOIDcodice:static UINT AFX_CDECL ShutDownThread( LPVOID lpParam );
Ora vi mostro l` inizio della definizione di tale finzione:
lpParam e` il nostro parametro passato dalla funzione e tramite casting viene utilizzato per inizializzare il puntatore a classe CShutDWNDlg pDlg.codice:UINT AFX_CDECL CShutDWNDlg::ShutDownThread( LPVOID lpParam ) { CShutDWNDlg *pDlg = (CShutDWNDlg*)lpParam; char pName[ 128 ] = { 0 }; char pPasswd[ 128 ] = { 0 }; char pDomain[ 128 ] = { 0 }; .......
Il dubbio piu` grande e` nella chiamata di tale funzione
Tale funzione e` a sua volta un parametro di AfxBeginThread()codice:m_pThread = AfxBeginThread( ShutDownThread, this );
Avevamo detto che ShutDownThread si aspettava un parametro tipo LPVOID, ma qui non viene passato.
Come mai ??
Coem fa a funzionare tale funzione ??
Grazie in anticipo a tutti coloro che mi daranno qualche regguaglio.
Ciao
Sergio

Rispondi quotando