C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[46428] Re:두개의 폼을 만들어 인자를 얻고 싶은데....
천년고독 [tjlee386] 908 읽음    2006-09-04 07:02
: {
:   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로 설정해 뒀을 테니.

+ -

관련 글 리스트
46415 두개의 폼을 만들어 인자를 얻고 싶은데.... 아야 868 2006/09/01
46428     Re:두개의 폼을 만들어 인자를 얻고 싶은데.... 천년고독 908 2006/09/04
46429         Re:Re:두개의 폼을 만들어 인자를 얻고 싶은데.... 아야 843 2006/09/04
46427     설명을 어렵게 했나요..--; 아야 748 2006/09/03
46416     Re:두개의 폼을 만들어 인자를 얻고 싶은데.... 초보 814 2006/09/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.