내 소스 코드에서 boost C ++ 라이브러리를 사용하여 기본 스레드가 아닌 별도의 스레드를 만들었습니다.
boost::thread t(&initSynthesis);
이 initSyntesis () 함수가 언제 실행되는지 (또는 스레드 t) 알고 싶습니다. 그러면 처음에는 다음을 사용하여 숨겨져 있던 Windows 폼에서 버튼을 볼 수 있습니다.
button1->show();
하지만 문제는 constructor
폼 클래스 에서 스레드 t를 만들고 initSynthesis
함수가이 클래스의 일부가 아니므로이 함수가 실행될 때 버튼을 표시 할 수 없다는 것입니다. 이 문제를 해결하는 방법?
당신은 전달할 수 button1
에 initSynthesis
, 다음에 initSynthesis
당신이 호출 할 수 있습니다 button1->show();
.
참고 button1
값이 아닌 참조에 의해 전달되어야한다.
void initSynthesis(System::Windows::Forms::Button^% button1)
{
button1->show();
//Do something else
}
//Thread will call 'initSynthesis' with 'button1'
boost::thread t{ &initSynthesis, button1 };
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다