|
종료하는 것은 동일합니다만, 순서적인 차이가 있습니다.
TApplication은 windows application의 encapsulate 한것입니다.
windows에서는 application을 쓰레드로 관리를 합니다. 즉,
운영체제에서 쓰레드를 생성, 스케쥴링, 제거까지 하는 겁니다.
쓰레드를 제거하기 위해서 호출하는 함수가 Terminate() 입니다.
이 Terminate()는 Main Form이 Close될때, 즉 Close()가 실행될
때 발생하는 WM_QUIT 메세지 이벤트에 의해서 실행됩니다.
정리를 하면 이렇게 됩니다.
Main Form Close --> Close() 호출 --> WM_QUIT 생성 --> Terminate()
그리고 이 과정에서 문제가 발생하는 경우는 대부분 메모리 문제입니다.
해제된 메모리를 다시 해제할려고 한다거나, 다른 쓰레드에서 사용할려는
메모리를 미리 해제시킨다거나 하는 부분입니다.
bluepc 님이 쓰신 글 :
: 작업을 완료하고 종료하는 경우에
: Application->Terminate();로 끝내는 경우와 Form1->Close();로 끝내는 경우가 있는데요,
: 차이가 무엇인지 궁금해서...
: 그리고 강력한 기능은 무엇인지도...
: 가끔씩 Form1->Close();로 종료하는 경우에 문제가 발생해서...
|