Не могу отловить окончание работы в ТСД(терминале сбора данных)
|
От: |
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 ?
Пока на собственное сообщение не было ответов, его можно удалить.