자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

Delphi 폼 생성과 해제.

2019.09.29 19:59

엽기토끼이요 조회 수:673

안녕하세요. 저번에 질문을 올렸는데 이해가 안 되서 또 질문을 합니다...

 

https://opentutorials.org/course/3108/19310

험프리님이 말씀해주신데로 그대로 따라해 보아도. 메모리가 처음 시작 그 용량으로 돌아오질 않습니다.

 

저번에 답 주신 김원경 선생님의 말대로 폼 변수는 생성하지 않았습니다.

또, 동적 생성될 폼을 Availalbe forms으로 변경했습니다.


코드 입니다.

 

메인 폼의 폼 동적 생성 이벤트. (하나의 폼을 500회 생성 후 클로즈 이벤트 발생)

procedure TForm_Main.Button3Click(Sender: TObject);

var

  i : integer;

begin

  for i := 0 to 500 do begin

    Form1 := TForm1.Create(Nil);

    Form1.Show;

 

    Form1.Close;    //이것만 썻을 때는 모든 폼이 생성된 후에 모든 폼이 다같이 종료.

//    Form1.Free;   //이것도 같이 쓰면 생성 즉시 폼이 제거.

  end;

end;

 

동적 생성폼(Form1)의 클로즈 이벤트.

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

  Action := CaFree;

  Self := Nil;

end;


500회를 다 돌고나면 메모리 용량이 조금 줄어들기는 하는데 처음 실행시 용량으로 돌아가지 않습니다. 

(메모리 확인은 작업관리자의 사용자 탭에서 메모리 카테고리에서 확인 했습니다.)

(추가로 작업 관리자 - 성능 - 리소스 모니터 - 메모리 탭에서도 메모리 사용량을 확인 했습니다. )

 

최초 실행시 1.9MB

500회 실행 후 3.5MB (실행 중간에는 4.0MB까지 증가)

2회 500회 실행 후 3.5MB (실행시 용량이 증가하나 종료된 후에 3.5MB로 돌아옴)

 

제가 원하는 것은 최초 실행시 1.9MB로 돌아가게끔 설계를 하고 싶은데... 1회 실행 후의 용량이 당연한 결과인가요?

제 추측으로는 500회 생성된 변수들이 사라지지 않고 재사용 되고 있기 때문에 3.5MB로 유지되는걸로 보입니다. 메모리에서 완전 해제하는 방법이 없는 것인가요?

 

여러군데 뒤져봐도 생성까지만 설명을 하고 해제에 대해서는 자세한 설명이 없어서 헤메고 있습니다.

귀찮게해드려서 죄송합니다... 너무 궁금한데 물어볼곳이 마땅히 없네요...

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 39932
공지 유용한 관련 사이트 관리자2 2014.03.20 79464
1372 내장 브라우저와 Ahalab Safe transation 문제 [1] 파랑 2017.08.01 652
1371 스트링그리드에서 특정셀의 컬러 변경 문의 [1] 포세가이 2019.03.12 652
1370 델파이툴 관련 문의 [1] 최마이클 2015.04.21 652
1369 [질문]모바일에서 앱테더링(블루투스 통신) 안되는 문제 [6] 가라사대 2015.06.26 652
1368 C/S 시스템을 위한 모바일 개발 DataSnap이 좋은지 REST 웹서비스 가 좋은지? [3] 미스터몽키 2015.09.04 653
1367 Raize 컴포넌트 사용방법 문의 [1] 이영진 2017.07.19 653
1366 xe10.2 버전 서브 폼닫기 안됨 [2] 텔로스김 2017.05.12 654
1365 delphi7에서 dbe를 이용한 mssql에서 저장프로시져 호출하여 작업하면 이상없는데. xe10.4에서 fireDAC을 이요하면 멈춤 추도사 2021.04.08 654
1364 안드로이드 모바일과 PC USB로 통신 [1] 권동한 2020.04.22 655
1363 string을 포함한 모든 형변환부분 및 기타 참고사항 설명자료 문의. [1] radio 2015.03.02 655
1362 XE7 블루투스 통신 [1] 최영준 2015.04.24 655
1361 움직이는 3D 배경이나 물체를 구현가능 한가요? [2] 쿠리 2018.08.10 656
1360 리스트박스 PACKETRECORDS [6] 김하나 2015.05.08 656
1359 [질문] DataSnap과 Mobile 연결 [2] 오는새벽 2021.02.25 656
1358 [공유] 파이어몽키 모바일 화면 개발 시 디자인 적용이 용이한가요? Humphery 2015.03.19 658
1357 하이브리드 앱 개발 관련 문의 [3] 사랑남 2015.06.17 659
1356 델파이에도 C#에 있는 LINQ기능이 있나요? [1] 베스트드레곤 2015.04.02 661
1355 iOS 앱 심사 시 IPv6문제;; [3] 델라인 2016.09.23 662
1354 앱 화면을 가로로 고정시켜서 만들고 싶습니다. [1] 손보라 2015.04.01 662
1353 Decimalseparator문의 [2] 똘귀아빠 2015.10.16 662