Форум программистов, компьютерный форум CyberForum.ru

Как вынести зацикленный опрос компорта в отдельный поток. Помогите начинающему... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создание resource-only DLL http://www.cyberforum.ru/cpp-beginners/thread486667.html
Пришёл сюда из VB-шного форума, поскольку напоролся на ограничение бэйсика, которое, похоже, обойти нельзя никак. ДАНО: Куча иконок с глубиной цвета 24 бита. Иконки используются в приложении VB 6.0. Понижать глубину цвета нельзя; использовать вместо иконок битмапы - тоже нельзя. ЗАДАЧА: НаписАть DLL-ку, которая будет хранить все иконки внутри себя в виде ресурсов, и экспортировать некую...
C++ как в DBGrid убрать горизонтальный скрол? Есть DBGrid в кот. одно поле нужно либо показать либо спрятать. Если я делаю это через св-во Visible этого поля и изменение ширины DBGrid, то это немного тормозит. Хотелось бы попробовать просто менять ширину DBGrid, но как при этом сделать чтобы не появлялся горизонтальный скрол? http://www.cyberforum.ru/cpp-beginners/thread486665.html
C++ Почему при рисовании возникает 'запрашиваемый ресурс недоступен'
Не подскажете, иногда возникает ошибка что то типо 'запрашиваемый ресурс недоступен' возникает при рисовании: использую CClientDC и CPen. нельзя ли подсказать как правильно их использовать или какие то другие и желательно пример с исходником или ссылку где скачать можно. заранее спасибо
VisualC++ 6.0, ADO и MSFlexGrid C++
Доброй ночи, господа! Вот, на ночь глядя у меня несколько вопросов родилось. 1. Как связать данные и FlexGrid, не используя нечто вроде AddItem? 2. Есть ли смысл вообще использовать этот Grid? Может, подскажите, где водится что-нибудь получше, но небольшого размера. 3. Где объявить переменные типа m_pConnection. m_pCommand и m_pRecordset и #import..., чтобы это соединение видели все...
C++ Как можно создать GroupBox? http://www.cyberforum.ru/cpp-beginners/thread486629.html
Как можно создать GroupBox? Заранее спасибо.
C++ Как установить ширину выпадающей части ComboBox? Как установить ширину выпадающей части ComboBox по ширине текста в строках или просто большую, чем ширина самого ComboBox. подробнее

Показать сообщение отдельно
mrak
Сообщений: n/a
19.07.2010, 14:30     Как вынести зацикленный опрос компорта в отдельный поток. Помогите начинающему...
Пишу компоненту для 1С. При загрузке компоненты, 1С виснет и циклически опрашивает компорт на получение данных. Как вынести процедуру опроса компорта в отдельный поток?
Опрос делаю так:
Код
VOID CALLBACK ReadData()
{
	DWORD		dwEvtMask;
	DWORD		dwError;
	COMSTAT		csStat;
	OVERLAPPED	o;
	

	int			nCount;
	char		strTemp[128];
	for(nCount=0;nCount<128;nCount++)strTemp[nCount]=0;
	nCount=0;

	o.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

	
	for (; ;)
	{
		ResetEvent(o.hEvent);

	if (!WaitCommEvent(m_hComm, &dwEvtMask, &o))
	{
		Sleep(100);
	}
		if (dwEvtMask & EV_BREAK)break;
		else if (dwEvtMask & EV_RXCHAR)
		if (dwEvtMask & EV_RXCHAR)
		{
			ClearCommError(m_hComm,&dwError, &csStat);
			ResetEvent(o.hEvent);
			
			unsigned long int x;
			char c;
			for (UINT i = 0; i < 7; i++)
			{
				ReadFile(m_hComm, &c, 1, &x, NULL);

				if(c==char(13))
				{
					CString s_kod = strTemp;
					
					CString csSource('Scan'),csMessage('Code'),csData;
					csData = s_kod;
					if (pAsyncEvent)
					pAsyncEvent->ExternalEvent(csSource.AllocSysString(),
                                 csMessage.AllocSysString(),
                                 csData.AllocSysString());        
					for(nCount=0;nCount<128;nCount++)strTemp[nCount]=0;
					nCount=0;
					
				}
				else
				{
					strTemp[nCount] = c;
					nCount++;
				}
			}
		}
	}
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru