|
궁금한 사항이 있어서, 이렇게 질문하게 되었습니다.
런타임 컴포넌트를 제작하고 있습니다.
그리고 그 컴포넌트를 사용하는 샘플 프로그램도 제작했습니다.
코드가드를 이용해서 메모리 릭을 체크하고 있는데,
(BDS 2007로 작업하고 있습니다)
Dynamic RTL이 Check 된 상태에서는 정상적으로 동작합니다. 코드가드 로그도 정상이라고 나오구요.
그런데, Dynamic RTL을 Uncheck된 상태에서 프로그램을 실행했다 종료하면,
메모리릭이 발생합니다.
Resource leak in process : test.exe(6960) - sys\system.pas#2655
The Memory block (0x1335120) was never freed
The Memory block (0x01335120)[size:28 bytes] was allocated with SysGetMem
특별히 메모리를 할당하는 부분도 없답니다.
컴포넌트 자체가 올라가있다는 이유만으로 저런 현상이 발생하는데요,
왜 그럴까요?
#pragma comment(lib, "dsound.lib")
이 부분이 문제가 될 수도 있나요?
다이렉트 사운드를 사용하는 컴포넌트입니다.
|