|
어렵게 생각할것 없구요. 전역변수 포인터 쓰면 됩니다.
즉, 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폼의 값을 전달 할 수 있나요..?
:
: 부탁 드릴께요.
|