자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
TMyClass = class
public
class var Dictionary: TDictionary<string, TProc>;
class constructor Create;
class destructor Destroy;
end;
initialization
TMyClass.Dictionary.Add('a', procedure begin ShowMessage('a') end);
TMyClass.Dictionary.Add('b', procedure begin ShowMessage('b') end);
end.
위와 같이 호출하면 메모리릭이 발생합니다.
initialization 부분의 코드를 class constructor 옮기면 메모리릭이 발생하지 않습니다.
메모리릭이 발생하는 상황만 발견했고, 원인은 정확히 모르겠네요. XE3에서 테스트 됐습니다.
댓글 0
TMyClass = class
public
class var Dictionary: TDictionary<string, TProc>;
class constructor Create;
class destructor Destroy;
end;
initialization
TMyClass.Dictionary.Add('a', procedure begin ShowMessage('a') end);
TMyClass.Dictionary.Add('b', procedure begin ShowMessage('b') end);
end.
위와 같이 호출하면 메모리릭이 발생합니다.
initialization 부분의 코드를 class constructor 옮기면 메모리릭이 발생하지 않습니다.
메모리릭이 발생하는 상황만 발견했고, 원인은 정확히 모르겠네요. XE3에서 테스트 됐습니다.