From YYpBD's MediaWiki
이 팁은 아마도 볼랜드 포럼에서 봤던거 같다.
델파이에는 유용한 것이 있다.
유닛을 Include시켜놨을때 유닛 맨 하단부분에 Initialization, Finalization 쪽에 코딩을 해놓으면 메인이 시작되기 전에 Initialization 부를 실행하고 메인쪽이 모두 종료되고 난 후에 Finalization 부가 실행된다.
var
a: PChar;
initialization
GetMem( a, 1024 );
finalization
FreeMem( a );
이렇게 해놓으면 메인이 실행되기 전에 GetMem을 실행하고 종료되고 난 후에 FreeMem을 실행한다.
Singleton같은 유일 객체 패턴 형식에 유리하다.
C++에는 언어에서 지원해주는 것은 없다.
다만 얍삽이로 처리해야할뿐...
우선 Initialization, finalization을 처리할 클래스를 만든다.
TInit::TInit()
{
Initialization();
}
TInit::~TInit()
{
Finalization();
}
그리고 생성자와 소멸자에 Initialization, Finalization 처리를 추가한다.
그리고 중요~~
#include "UclsInit.h"
static TInit Init;
static으로 클래스를 하나 만든다.
이렇게 하면 클래스가 static으로 실행되기 때문에
메인이 실행되기전에 클래스 생성자가 실행되고
종료되고 난 후에 클래스 소멸자가 실행된다.
Singleton 처리시에 유용하게 쓰일듯하다...