프로그램이 많은 Windows 리소스를 사용하는 경우 리소스 힙 부족 수 있습니다.
XP 용 힙 크기를 높이기 위해 증가시킬 수있는 레지스트리 항목이 있습니다. Vista의 경우 Microsoft는 이미 기본값을 더 높게 설정합니다. 기본 3072를 최소 8192로 변경하는 것이 좋습니다.
이 정보는 기술 자료 문서 ID 126962 (또는 "Out of Memory"검색)에 설명되어 있습니다. 매개 변수 값을 관련된 추가적인 세부 사항은 내가 제안 184802.
당신이 기술 자료 문서하지만 변화에 대한 기본적인 정보를 읽는 기술 자료 기술 자료에서 발견 될 수있다이다 :
1) 레지스트리 편집기를 실행 (REGEDT32.EXE). HKEY_ LOCAL_MACHINE 하위 트리
2) 다음 폴더로 이동 : 화면의 오른쪽에
\System\CurrentControlSet\Control\Session Manager\SubSystem
3) 키를 두 번 클릭 :
windows
4) 팝업 창에서 매우 긴 필드가 선택됩니다. 이 찾는 문자열의 시작 부분에 커서를 이동 (값은 다를 수 있음) :
SharedSection=1024,3072,512
5) SharedSection은 시스템 및 데스크탑 다음 형식을 사용하여 힙 지정 SharedSection의 = xxxx를, YYYY을 ZZZ를 xxxx는 정의 경우 시스템 전체 힙의 최대 크기 (KB), yyyy는 데스크톱 힙 당 크기를 정의하며 zzz는 "비대화 형"창 스테이션의 데스크톱 힙 크기를 정의합니다.
6) yyyy 값만 8192 이상으로 변경하고 확인을 누릅니다.
7) 레지스트리 편집기를 종료하고 PC를 재부팅하여 변경 사항을 적용하십시오.
굿 럭
로컬 Access 데이터베이스를 사용하는 데스크톱 응용 프로그램입니다. 컴퓨터에 자원이 없어야합니다. 나는 그런 오류가 발생할 때 디버거가 멈출 수 있기를 바랬다. 나는 약 10 년 델파이 경험이 있고 이것은 내가 본 두 번째 오류입니다! 요점까지 –
더, 나는 그것이 일어나고있는 코드에서 아직 모르겠다. 타사 그래프 엔진과 계측기와 통신하는 C/C++ DLL을 사용하는 약 60,000 라인 프로그램입니다. 여기에 많은 일이 있습니다 ... –
글쎄, 예외로 던져진 오류입니까 아니면 그냥 이벤트 로그에 나타나고 있습니까? 이와 같은 오류의 경우 코드가 잡히더라도 어떤 식 으로든 응답해야합니다 ... 그렇지 않다면 코드가 전혀 아닐 수도 있지만 서비스 등을 발생시키는 누수가 발생할 수 있습니다. 그것을 evtlog. – LarryF