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
[5880] Re:모달폼에 값을 전달하려면 어떻게 해야 합니까..?
뻐그 [] 2731 읽음    2001-03-05 12:53
어렵게 생각할것 없구요. 전역변수 포인터 쓰면 됩니다.
즉, int form1->aaa 변수를 form2->bbb()함수에서 쓰고 싶다면,
form1이 있는 cpp파일 꼭대기 위쯤에, int * ptr;라고 써서 전역변수 포인터 ptr을 만든 후에,
form1이 시작되면, 한번은 ptr = &(form1->aaa); 를 실행시켜서 aaa변수의 주소를 ptr에 저장시킵니다. form2가 있는 cpp파일 꼭대기 위쯤에, extern int * ptr; 이라고 써서 다른 cpp파일에 있는 ptr을 사용하겠다고 선언한 후, form2->bbb()함수 안에서 *ptr = 100; 이라고 하면 form1->aaa변수값이 100이되지요. 혹은 *ptr을 사용해서 변수값을 읽을 수도 있죠.

이 방법은 프로그램 배워갈때 누구나 부닥치는 문제이죠.

라고 글을 쓴 후에 낮잠을 잘라고 하는데 문득 스치는 생각이 있어서 다시 수정합니다.
위의 방법도 되는데요.
보통 form1이랑 form2가 C++ builder에서 전역 변수로 되어 있지 않나요?(정확하지 않음)
그냥 form2->bbb()함수속에서 form1->aaa = 100; 이런식으로 사용하면 되지 않나요?
맞는지 정확히 모르겠네요.

맨 위에 방법도 다시 생각해보니깐, 만약 form2에서 사용해야 할 form1의 변수가 많다면
맨위 방법의 ptr대신에 form1의 전역변수 포인터 ptr을 만들어서 ptr->aaa 라는 식으로 사용하면 되네요.


소심남 님이 쓰신 글 :
: form2->ShowModal();
:
: 이렇게 하면 모달폼을 띄울 수 있습니다.
: 그런데 어떻게 하면 Form2를 모달 폼으로 띄우면서
: form1폼의 값을 전달 할 수 있나요..?
:
: 부탁 드릴께요.

+ -

관련 글 리스트
5873 모달폼에 값을 전달하려면 어떻게 해야 합니까..? 소심남 2456 2001/03/05
5940     Re:모달폼에 값을 전달하려면 어떻게 해야 합니까..? 중급 2571 2001/03/08
5880     Re:모달폼에 값을 전달하려면 어떻게 해야 합니까..? 뻐그 2731 2001/03/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.