|
: {
: NumberSelForm->Show(); // 숫자판용 폼개시
: if ( NumberSelForm->OKBtn->ModalResult == mrOk) { // 숫자판용에서 OK를 클릭했으면
: Number->Caption = NumberSelForm->NumEdit->Caption; // 갖고온 숫자를 클릭한Number에넣음
: }
문제의 원인은
NumberSelForm->Show(); 에 있습니다.
프로그램의 의도는 NumberSelForm 이 닫히고 다음의 if 문장이 수행 되어야 하는데 ShowModal과 달리 Show 명령은
새창을 띄우고 나서 멀티태스킹 개념처럼 바로 아래의 문장이 수행 되버리데 있죠.
즉 카메라 선택 폼에서 작업이 진행되지 않았는데 이미 if 문 이하는 실행이 되버린 상태라 판넬에는 아무런 변화가 없는게 맞습니다. 한번더 클릭하면 다시 폼을 띄우고 바로 이전에 NumEdit->Caption 값이 넘어오는 형태로 동작하는 것입니다.
Show()를 ShowModal()로 수정하시면 될겁니다.
그리고 덧붙여서
if ( NumberSelForm->OKBtn->ModalResult == mrOk) 이 문장은 아무리 봐도 사족 같습니다.
당연히 OKBtn를 눌러서 폼을 닫았고 ModalResult는 mrOK로 설정해 뒀을 테니.
|