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
[20745] Re:[질문] 다중폼에서 데이터 주고 받기...
김백일 [cedar] 1077 읽음    2002-08-12 10:51
우시관 님이 쓰신 글 :
: 안녕하세요...
: 항상 이렇게 도움만... ^^;
:
: 너무 초보적인 질문이라 좀...
:
: 1. 폼을 2(frmMain, frmInput)개를 사용하는데
: 전역변수로 X,Y 를 사용한다고 할때....
:
: frmMain에서 정의한 전역변수 X,Y 를  frmInput 에서 입력을 받고 싶은데...
: 에러가 나네요...
: 그래서 똑같이 frmInput에서 전역변수로 선언을 해주고 나니까...
: 에러도 안나고 또 값도 정확히 들어오는 것 같은데...
: 이렇게 사용하는 것이 맞는건지요????
:
: 아님 다른 방법으로 사용해야 되나요....????

전역 변수가 아니라
TfrmMain 클래스의 멤버 변수로 하는 것이 맞습니다.

frmMain.cpp에서는 frmInput.h 헤더파일을 인클루드하시고
frmInput.cpp에서는 frmMain.h 헤더파일을 인클루드하시는 건 아실테죠?

그런후,
TfrmInput 클래스에서 TfrmMain 클래스를 프렌드 클래스(friend class)로 선언하세요.

class TfrmInput {
friend class TfrmMain;
  ...
}

이렇게 하면 TfrmInput 클래스에서 TfrmMain 클래스의 private 멤버들에 접근할 수 있습니다.

: 2. 또 Project->optionc->Form->Available Form 으로 frmInput 를 옴겨 놓으면...
: 생성시에는 어떻게 해야 하나요...?

하시려는 작업의 성격상 frmInput->Show()로 modaless form으로 띄우는 것보다는
frmInput->ShowModal()로 modal form으로 띄우시는 것이 좋겠네요.
다음은 예외 처리를 고려한 폼 동적 생성 코드입니다.

    TfrmInput *frmInput;
    try {
        try {
            frmInput = new TfrmInput(Application);
            frmInput->ShowModal();
        } catch (Exception&) {
            throw;
        }
    } __finally {
    delete frmInput;
    }

+ -

관련 글 리스트
20744 [질문] 다중폼에서 데이터 주고 받기... 우시관 794 2002/08/12
20745     Re:[질문] 다중폼에서 데이터 주고 받기... 김백일 1077 2002/08/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.