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
[22918] Re:Re:Re:Re:Re:Re:일단 감사드립니다.. 추가 질문 입니다.
질문이너무많아서.. [kimskpro] 823 읽음    2002-11-29 10:36
아마 수빈님이 잘 이해가 안되시는가 본데..
그럼 해더에다가 이중포인터를 설정해놓고 그걸로

동적으로 생성된폼에서 접근하는 것도 방법이라고 생각하거든요..

예를 들어서

TTreeView **test;
이렇게 해더에서 정의해놓고..

메인폼에서

*test = TreeView1->Selected;

이렇게 할당해놓고...

동적으로 생성된 폼에서

(*test)->Text = "냠냠";

갯수가 많다면

*test로 할당하는 부분만 test[i]로 배열을 포문으로 돌려서 할당시키도 되겠지요....

이렇게 해놓으면 *test라는 것은 전역으로 항상 메인폼의
TTreeView 의 노드를 절대적으로 주소값을 갖고 가르키게 되니까.

어디에서도

(*test) 로 그 노드에 접근할수 있을거라 생각합니다.

노드라함 리스트뷰에서  item이라고도 할수있는 거라고....

되도록 쉽게 설명드렸는데...ㅡㅡㅋ 저도 같이 배우는 입장이라..

뭐 빨리쓰느라...^^;;


그럼 즐푸하세요....


참...할당한 *test는

사용이 끝나면(?)
delete test;
요걸로 메모리에서 풀어줘야 합니다.



조준회 님이 쓰신 글 :
: 객체를 동적생성한것과는 아무런 상관이 없습니다.
:
: 동적생성이라도.. 일단 생성된 후라면.. auto create와 완전히 동일합니다.ㅡㅡ
: (auto create라는 것도 결국 동일한 과정으로 생성됩니다.
:
: 다만 사용자가 코딩을 하지 않을뿐.. 컴파일러가 알아서 그 과정을 대신하는
: 코드를 만들어냅니다.)
:
: 그러나 해제한후라면.. 당연히 문제가 생깁니다.
: 계속 사용을 해야 하는 객체는 프로그램에 종료할때까지 해제를 해서는 안됩니다.
: (auto create된 폼이라도.. 해제시키면.. 똑같은 문제가 발생합니다.)
:
: 제발 변수 통용범위에 대한 내용을 책에서 찾아보도록 하세요..
:
: (위 내용은.. 변수를 선언한후 그 변수를 사용 할 수 있는 범위와 관련된 내용입니다.
:  어느책이건.. 변수나 함수 관련된 부분에 약간이라도 반드시 언급을 하는 아주 중요한
:  내용입니다.)
:
:
:
: 수빈 님이 쓰신 글 :
: : 에구 잘 모르니까 답변 을 해주시는데도 뭐라 말씀드리기 힘들군요..
: : 말씀해주신 아래코드 부분은 이해를 했습니다.
: : F_ITEM의 폼에 값을 다시 주고 싶은데..
: : F_ITEM->DPNO->Text      = SG1->Cells[0][Row];  
: : 이렇게 주면 에러메세지가 뜹니다.
: : 이유는 F_ITEM역시 메인폼에서 동적으로 생성된 폼이거든요...
: :
: : 갑자기 생각난것인데 F_ITEM폼역시 객체를 해제했는데 그래서 값이 안들어갈까요?
: : 쓸데 없는 질문한것 같아서 지송해요...ㅠ.ㅠ
: :
: : 하여간 관심가져주셔서 감사합니다.
: :
: : :
: : : 무슨 내용인지 질문내용을 이해하기가 힘들군요..
: : :
: : : 그러나 답은 변수통용범위에 대한 내용인걸로 보입니다.
: : :
: : : 순수하게 아래 코드만 보더라도..
: : :
: : :    TF_ITEM *subForm = new TF_ITEM(Application);     // 이렇게 주면 에러는 없지만
: : :               subForm->DPNO->Text      = SG1->Cells[0][Row];   // 값이메인폼으로
: : :               delete subForm;     
: : :
: : :
: : : 1라인에서. 객체를 생성시켰고.
: : : 2라인에서 데이터를 적용시켰고..
: : : 3라인에서 객체를 해제했습니다.
: : :
: : : 객체가 자체가 해제되었는데..
: : : 객체내의 변경된 데이터가 남아 있겠습니까?.
: : :
: : : 위 내용만 가지고는 어떤 의도로 저런 코드를 사용했는지 이해가 되지 않아서 ..
: : : 더이상의 답변은 힘들지만..
: : : 변수의 통용범위에 대한 이해를 하시면.. 풀수 있을겁니다.
: : :
: : :
: : :
: : :
: :
: :
: :

+ -

관련 글 리스트
22879 /* 질문 */ 두개의 폼간의 데이타 연동 ...검색을 다 찾아 보았는데모르겠어요! 수빈 856 2002/11/27
22892     부모폼의 포인터만 알면 쉽게 부모폼의 컨트롤에 접근할 수 있죠. Julien 1078 2002/11/27
22895         Re:감사합니다... 제가 찾는 답이었습니다... 꾸벅 (내용무)^.^ 수빈 876 2002/11/28
22882     Re:/* 질문 */ 두개의 폼간의 데이타 연동 ...검색을 다 찾아 보았는데모르겠어요! 조준회 1180 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.