1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
...
info.m_progress=&m_progress;
info.m_hWnd=&this->m_hWnd;
for(int i=0; i<nombrefonction+1; i++)
{
if(i<nombrefonction)
info.m_voyant=&voyant[i];
com.m_watchThread = CreateThread((LPSECURITY_ATTRIBUTES )lpThreadAttributes,
(DWORD)dwStackSize,
(LPTHREAD_START_ROUTINE)CCom::CommWatchProc,
(LPVOID)&info,
(DWORD)dwCreationFlags,
(LPDWORD)&com.m_threadID);
if(com.m_watchEvent==NULL)
{
testencour=false;
CloseHandle(com.m_hCom) ;
TRACE("thread inexistant\n");
}
else
{
if(!EscapeCommFunction( *info.m_hCom, SETDTR ))
TRACE("impossible de prologer la communication\n%d\n", GetLastError());
}
if(i<nombrefonction)
{
creerTrame(&nomcommande[i]);
calculerPoidBits(trame[1]);
com.WriteComm(trame,trame[1]);
testencour=true;
}
UpdateData(FALSE);
PumpMessages();
}
... |