I did everything you suggested, but doesn't work...now this is the current situation:
Code:
class CMyDlg : public CDialog
{
....
private:
void privExecCommand( CHAR cmd );
static UINT __cdecl privListeningThread( LPVOID pParams );
....
}
BOOL CMyDlg::OnInitDialog()
{
....
AfxBeginThread( (AFX_THREADPROC) &CMyDlg::privListeningThread, (LPVOID)(this) );
....
}
UINT CMyDlg::privListeningThread(LPVOID pParams)
{
....
CMyDlg *pCaller = (CMyDlg*) pParams;
do{
.......
cmd = foo_ReadPort();
pCaller->privExecCommand( cmd );
.......
}while( TRUE );
return 0;
}
It still happens that the method called can't find the right members of the object called, insted it finds zeroed fileds.
I'm using VC++ 6.0