|
버튼을 누르면 폼을 동적으로 생성한다고 하였을 경우에,
생성된 폼이 닫힐때(OnClose) Action = caFree 로 하면 폼이
할당받은 메모리가 해제된다고 도움말에서 보았습니다.
그런데 막상 테스트를 해 보면, 즉 작업관리자를 띄워놓고
동적으로 폼을 10개정도 띄웠다가 하나씩 차례로 지우면 메모리가
늘었다가 줄어들어야 하는데 줄어들지가 않네요..
그래서 다시 10개정도 띄우면 또 메모리가 늘어납니다 ...
어찌된 일인지...
반드시 동적으로 생성하였다면 delete로 삭제해주어야만 하는 건지요?
void __fastcall TForm1::btNewClick(TObject *sender)
{
TForm2 *frmChat = new TForm2(this);
myList->Add(frmChat);
}
다른 곳에서
TForm2 *pfrmTemp;
pfrmTemp = (TForm2 *)myList->Items[0];
delete chatForm;
이런식으로 리스트에다가 포인터 값을 넣어둔 후에 delete 하는 방식 말고는
방법이 없는것인지 궁금합니다.
ps: 계속 질문만하는듯한데, 그래도 궁금하니 어쩔수 없어서 ㅡㅡ;;
어서 실력을 쌓아서 답변도 하고 그러겠습니다 ^^;;
|