Не могу отловить окончание работы в ТСД(терминале сбора данных)
От: Garilla  
Дата: 02.11.12 05:28
Оценка:
Перебираю СОМ порты, чтобы найти рабочий функцией

void CTestOpt1004Dlg::Foo2()
{
CComboBox* pCom = (CComboBox*)GetDlgItem(IDC_COMBO1);
CString strHlp;
for (int i=0; i<10; ++i)
{
strHlp.Format("COM%d", i);
pCom->SelectString(0, strHlp);

// проверка СОМ
m_load.put_Comport( i );
m_load.put_IrDADevice( 0 ); // NoneIrda device
m_load.ShowSoftwareVersion();

// МЕСТО1 вот здесь нужно дождаться проверки окончания ProgressStatusLoaddll1 и продолжить проверку следующего порта

}
}

сообщения ТСД попадают в обработчик

void CTestOpt1004Dlg::ProgressStatusLoaddll1(short Comport, short Percentage, short status, LPCTSTR bstrStatusMsg)
{
int iStatus = MB_OK;

if( status < 500 )
{
iStatus = MB_OK | MB_ICONERROR;
}
else if( (status > 500) && (status < 1090 ))
{
iStatus = MB_OK | MB_ICONINFORMATION;
}
else if(status == 1090)
{
iStatus = MB_OK | MB_ICONINFORMATION;
}
else
{

}

}
Как заставить функцию Foo2 в участке коде МЕСТО1 дождаться окончания ProgressStatusLoaddll1 ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.