Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[6105] >질문< Dll사용 메모리에 대해서..
yunto [ ] 1035 읽음    1999-04-26 14:22
델파이로 작업중에 의문이 있어 질문합니다.
델파이로 만든 프로그램의 메모리 사용을 점검한 결과
전혀 필요없는 dll인
Ole32.dll, OleAut32.dll의 메모리를 사용하여
이것을 FreeLibrary API를 사용하여 dll사용을
하지 않도록 하였습니다.
그렇게 해서 프로그램에서 사용못하도록 했는데..
(메모리도 사용하지 않네요..)
실행중에는 아무런 문제가 없거든요.. 그런데....
문제는 폼을 종료할 때 Access violation 에러(RunTime 216)가 발생하네요..
그래서.. 아주 철저하게 살펴본 결과..
델파이가 폼을 종료하고 자동으로 메모리를 해제하면서
이미 사용하지 않는 OleAut32.dll을 메모리에서 해제하기위해
또 FreeLibrary를 호출해서
Runtime Eror가 발생하네요..
디버깅한 결과..참조주소(OleAut32)가 Base Address $7FEB0000 ~ ??인데..
종료시 자꾸 위 주소($7FEB13C0)를 프리할려구 하네요..
처음 폼이 시작할 때 FreeLibrary는 UnLoad는 잘 되는데..
왜 자꾸 폼이 종료될때에도 또 해제하려고 하는지?????
혹시..
위의 메모리 참조가 되지 않도록 하는 방법을 알고 계시나요??
API를 보니..FreeLabriry는 자동으로 맵핑된 메모리를 해제한다는데??
아무리 애를 써봐도..
해결이 안되네요..
아시면..
가르쳐 주실 수 있나요??
그럼..




+ -

관련 글 리스트
6105 >질문< Dll사용 메모리에 대해서.. yunto 1035 1999/04/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.