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
[22882] Re:/* 질문 */ 두개의 폼간의 데이타 연동 ...검색을 다 찾아 보았는데모르겠어요!
조준회 [] 1179 읽음    2002-11-27 11:31

   TF_ITEM *subForm = new TF_ITEM(Application);     // 이렇게 주면 에러는 없지만
:               subForm->DPNO->Text      = SG1->Cells[0][Row];   // 값이메인폼으로
:               delete subForm;     


당연히 위와 같이하면.. 메인폼으로 데이터가 가지 않습니다.
위 코드는 메인폼과 같은 새로운 폼을 하나 생성시키고..

새로로 생성된 메인폼에 데이터를 집어 넣는 것입니다.

님이 원하는 폼이 아닌..새로 생성된 메임폼과 같은 폼 말 입니다.

item.h에 보시면..extern package로 하나 선언된것이 있을겁니다.
그 폼이 메인폼의 객체를 전역으로 선언한것입니다.

auto-create되면.. 전역으로 선언된 포인터에 메모리를 할당하게됩니다.

위 코드만 가지고 생각해보면.. 아마 메인폼의 이름은 F_ITEM이걸로 생각됩니다.
그럼 F_ITEM->DPNO->Text = ... 으로 하면 됩니다.


이 문제는 변수의 통용범위 규칙을 생각해보시면..
풀수 있는 문제입니다.


수빈 님이 쓰신 글 :
: 회원 가입도 안돼 있었네요 게시판을 자유롭게 다니다 보니까..
: 플밍하는데 이곳의 도움을 무척이나 많이 받고 있답니다.. 일단 감사..
: 제가 알고 싶은 것은...
: 일단 두개(사실은 여러개)의 폼이 있습니다.(SDI)
: 프로젝트 옵션 부분에 메인폼은 auto 이면서 나머지 폼들은 AVailabled입니다.
: 여태까지는 전부 모든폼을 auto시켰거든요 그러니까 많은 리소스(컴터)잡아먹더군요.
: 그래서 SDI폼이면서 다른폼을 연동 시킬때 동적으로 생성 시켜야 겠다 하고 다시 작업을
: 하는데..메인폼에서 동적으로 생성시킨 폼은 메인폼에서 준 데이타를 갖을수 있더군요
: 그런데 새로 생긴 폼에 있는 데이타를 다시 가져 올려고 하니 아무런 값을 갖고 올수 없더군요
: ㅠ.ㅠ ...
: 원인을 알고 싶고 해결 하고 싶습니다... 하단 소스도 봐주세요... 
: //--------------------------------------------------------------------------
: #include "item.h"     // 메인폼 
: #include "SDPN.h"     // 동적생설될 폼
:
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.dfm"
: TF_ITEM *F_ITEM;
: //---------------------------------------------------------------------------
: __fastcall TF_ITEM::TF_ITEM(TComponent* Owner)
:     : TForm(Owner)
: {
: }
: //---------------------------------------------------------------------------
: void __fastcall TF_ITEM::DPNOKeyDown(TObject *Sender, WORD &Key,
:       TShiftState Shift)
: {
:    
:         TS_IDPN *subForm = new TS_IDPN(Application);   // 게시판 돌아다니면서 찾은부분.
:         subForm->FLAG->Caption = 1;
:         subForm->ShowModal();
:         delete subForm;
:    
: }
:
: //------------------------------------------------------------------------------
: 윗부분은 동적으로 폼을 생성시키면서 라벨에 캡션을 1로 주는 겂니다.. 그럼 동적으로
: 생성되는 폼은 정확하게 값을 갖고있죠..
:
: 그럼 하단 부분은 새로 생성된 폼입니다.
:
: //---------------------------------------------------------------------------
: #include <vcl.h>
: #pragma hdrstop
:
: #include "SDPN.h" // 자신폼..
: #include "item.h" // 메인폼
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.dfm"
: TS_IDPN *S_IDPN;
: //---------------------------------------------------------------------------
: __fastcall TS_IDPN::TS_IDPN(TComponent* Owner)
:     : TForm(Owner)
: {
: }
:
: //---------------------------------------------------------------------------
:
: void __fastcall TS_IDPN::SG1SelectCell(TObject *Sender, int Col,
:       int Row, bool &CanSelect)
: {
:
:         if (FLAG->Caption == 1)   //조건문 안으로 들어갑니다.
:         {
:               TF_ITEM *subForm = new TF_ITEM(Application);     // 이렇게 주면 에러는 없지만
:               subForm->DPNO->Text      = SG1->Cells[0][Row];   // 값이메인폼으로
:               delete subForm;                                  // 안가요
:         }
: }
: //---------------------------------------------------------------------------
:
: 제가 알고 싶은것은 동적 생성된 폼의 데이타를 다시 메인폼으로 가지고 오는 것입니다..
: 답변 부탁드립니다.
:
:
:

+ -

관련 글 리스트
22879 /* 질문 */ 두개의 폼간의 데이타 연동 ...검색을 다 찾아 보았는데모르겠어요! 수빈 856 2002/11/27
22892     부모폼의 포인터만 알면 쉽게 부모폼의 컨트롤에 접근할 수 있죠. Julien 1078 2002/11/27
22895         Re:감사합니다... 제가 찾는 답이었습니다... 꾸벅 (내용무)^.^ 수빈 876 2002/11/28
22882     Re:/* 질문 */ 두개의 폼간의 데이타 연동 ...검색을 다 찾아 보았는데모르겠어요! 조준회 1179 2002/11/27
22883         Re:Re:일단 감사드립니다.. 추가 질문 입니다. 수빈 650 2002/11/27
22884             Re:Re:Re:일단 감사드립니다.. 추가 질문 입니다. 조준회 657 2002/11/27
22886                 Re:Re:Re:Re:일단 감사드립니다.. 추가 질문 입니다. 수빈 669 2002/11/27
22887                     Re:Re:Re:Re:Re:일단 감사드립니다.. 추가 질문 입니다. 조준회 704 2002/11/27
22918                         Re:Re:Re:Re:Re:Re:일단 감사드립니다.. 추가 질문 입니다. 질문이너무많아서.. 823 2002/11/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.