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
[37196] Re:Re:Re:[질문] if문으로 Form이 열려있는지 닫혀있는지를 알수 있나요??
수야!╋ [sooya23] 871 읽음    2004-09-10 13:47
아래 smleelms 님의 말씀데로 해당폼의 해더를 참조하고 계신경우의 답변입니다.

웬지 Show, Hide의 질문같았는데 Create, Delete류의 질문이군요...

Form1에서 Form2를 생성했다면 Form2의 해더는 Include가 되어있는 상태겠지요

만약 TForm2 *Form2; 라고 선언되어있다면

Form1의 생성자에서 Form2 = NULL;을 해주시구요

Form2 = new TForm2(this);

하시면 Form2의 값은 메모리 번지값이 됩니다.

Form2가 Close 될때나 Destroy될때 Form1->Form2 = NULL을 해주시면 해결 될 수 있을거 같네요

이때 Form1에서 delete Form2; 같은 문장은 없애야하며

Form2의 OnClose이벤트에서 Action = caFree; 를 해주시면 메모리 누수는 없을겁니다.

보신바와같이 Form2라는 값 말고도 bool 값등의 변수를 이용하여

해당 폼의 존재나 상태를 확인 하는 방법도 있으니

한번더 생각해 보시구요


궁금이 님이 쓰신 글 :
: smleelms 님이 쓰신 글 :
: : 해당폼의 헤더파일을 참조하고 계시다면 그냥 "Visible" 속성만 보셔도 됩니다.
: :
: : 궁금이 님이 쓰신 글 :
: : : 제가 여러가지 Form을 합쳐서 많이 쓰거든요..
: : : 그래서 Form1에서 Form2가 Show상태인지 Close 상태인지를 알수있나 해서요..
: : : if문으로 Form이 Show상태인지 Close 상태인지를 알수 있는 법좀 알려주세요..
: : : 고수님들 부탁................^^;
:
:         if(Form1->Visible==true){
:             Form1->Close();
:         }
: 이런식으로 했더니 안되더군요  아직 생성이 안된 Form이라 오류가 나오는거 같더군요.
: 메모리에 쌓이지 않게 하려구 사용한 Form은 Close시키려구 하거든요..
: 이런식으로 했더니 안되더라구요...
: 제가 뭘 잘못생각하는지.........
: 다시 한번 알려주세요
: 감사합니다..

+ -

관련 글 리스트
37184 [질문] if문으로 Form이 열려있는지 닫혀있는지를 알수 있나요?? 궁금이 727 2004/09/09
37189     Re:[질문] if문으로 Form이 열려있는지 닫혀있는지를 알수 있나요?? smleelms 1127 2004/09/09
37194         Re:Re:[질문] if문으로 Form이 열려있는지 닫혀있는지를 알수 있나요?? 궁금이 781 2004/09/10
37196             Re:Re:Re:[질문] if문으로 Form이 열려있는지 닫혀있는지를 알수 있나요?? 수야!╋ 871 2004/09/10
37200                 Re:Re:Re:Re:감사합니다.[냉무] 궁금이 730 2004/09/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.