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
[54370] Re:동적으로 생성된 form을 error없이 죽이는 방법... 및 실시간 콤포넌트 사이즈의 조정?
Julien [julien] 1251 읽음    2008-08-22 01:20
이건 참 찾아볼 필요도 없는 내용이라 답변하기가 쫌 거시기 하네요 ^^

1. 컴포넌트 조정 -> 팁&트릭 47번 찾아보세요

2. TerminateProcess는 함수이름 그대로 프로세스를 죽이는 것이어서 Form1 도 날라갑니다.
Form2 를 멤버로 선언하던가 extern 된 걸 그대로 갖다가 쓰거나 무관하구요..
폼생성
Form2 = new TForm2(this);
Form2->Show();

폼제거
delete Form2;

이렇게하면 메모리에서도 사라집니다.

근데 Form2 에서 닫기 버튼 눌러서 닫을 수도 있으므로 Form2 가 자신을 스스로 메모리에서 없애도록 만들자면
Form2 의 OnClose 이벤트에서
Action = caFree;

를 주면 delete 를 수행한 것처럼 Form2 의 메모리를 날리게 됩니다.

linuxman 님이 쓰신 글 :
: 1.일반적으로 C++ builder의 디자인타임에서 처럼.
: 콤포넌트를 폼에 올려놓고, 마우스로 크기조정을 할수 있잖아요...
: 좌우로 늘린다든지...상하로 늘린다든지...우리가 만든 프로그램에서
: 실행된 후에..콤포넌트의 크기를 마우스로 늘렸다 ,줄였다 하는 방법을 알고 싶습니다..
:  (원하는건 라벨 콤포넌트나 이미지 콤포넌트 인데...) 어떤 콤포넌트 라도 괜찮습니다..
:
: 실행된후에 콤포넌트의 크기를 마우스로 줄였다 늘였다 할수 있는 방법좀 알려주시면 감사하겠습니다...
: (매우 어려울것이라 생각이 되는데...... )
:
: 2. form1에서 동적인 폼 (form2)를  생성했습니다.
:    그리고 특정 조건이 됐을때...form2를 죽이려고 합니다..
:    즉 아래처럼 죽이면 ...Form1까지 통째로 죽어 버리는 현상이 나타납니다..
: ( Form2만 죽이는것이 목적입니다 )

:
:       DWORD ProcessId;
:       HWND hWnd = FindWindow(NULL, "Form2");
:       if(hWnd)
:       {
:
:             GetWindowThreadProcessId(hWnd, &ProcessId); // hWnd로 프로세스 ID를 얻음..
:             HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId);
:             if(hProcess)  TerminateProcess(hProcess,0);//또는 ExitProcess 사용해서 죽임..
:
:        }
:
: 그러지 않고 , SendMessae ( Form2->Handle, WM_CLOSE, 0,0 ) 하면 ... form2가 죽긴죽는데..form2가 사용하던 메모리나,타이머들이 clear되지 않은채로 form2가 죽어버리니까, form2가 죽은후에 메모리 error가 죽~~ 떨어집니다.
:
: 처음것의 TerminateProcess(hProcess,0);로 form2만 죽이고 싶은데...무엇이 잘못됐나요?

+ -

관련 글 리스트
54368 동적으로 생성된 form을 error없이 죽이는 방법... 및 실시간 콤포넌트 사이즈의 조정? linuxman 1004 2008/08/21
54370     Re:동적으로 생성된 form을 error없이 죽이는 방법... 및 실시간 콤포넌트 사이즈의 조정? Julien 1251 2008/08/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.