Цитата(Damarus @ 6.7.2007, 09:11 ) | | Отдельный поток. По нажатию СТАРТ запускаешь, по СТОП - останавливаешь. |
поддерживаю, особенно если нужно переслать существенный объем данных, остальное - костыли (естественно - имхо) организуется просто: ()
| Код | //MyClass.h class CMyClass { private: bool m_fContinueThread; public: CMyClass(); ~CMyClass (); bool IsPressingContinue() { return m_fContinueThread; } void Stop(); void Start(); }; //MyClass.cpp static void ThreadSendData( void *cpyThis );
CMyClass::CMyClass() { m_nTimer = 0; m_fContinueThread = false; }
CMyClass::~CMyClass() { Stop(); //тут следовало бы подождать - WaitForSingleObject, ну сам справишься ;) } void CMyClass::Start() { m_fContinueThread = true; _beginthread( ThreadSendData, 0, this ); }
void CMyClass::Stop() { m_fContinueThread = false; }
void ThreadSendData( void *cpyThis ) { CMyClass *pMyClass = reinterpret_cast<CMyClass *>( cpyThis ); while( pBut->IsPressingContinue() ) { pMyClass->SendData( something, somewhere );//чего-то куда-то шлем } }
|
Билдер поддерживает ведь _beginthread? |