2016-09-16 12 views
3

Delphi 5.0을 사용하여 빌드 된 하나의 응용 프로그램이 있으며 문제없이 정상적으로 작동합니다. 그러나 큰 보고서를 실행할 때 응용 프로그램에 2GB 이상의 메모리가 필요합니다. 분석을 한 후 컴파일러 지시문 SETPEFlags를 사용하여 최대 32 비트 응용 프로그램 메모리를 4GB까지 늘릴 수 있습니다.컴파일러 지시문 Deplhi의 SETPEFlags 5

내 프로그램에서 Delphi 5.0에서 설정하려고하지만 "잘못된 컴파일러 지시문"오류가 발생합니다. 누군가 다른 버전의 응용 프로그램을 다시 빌드하지 않고도 해결할 수있는 방법을 제안 할 수 있습니까? 또는 델파이에 추가 된 버전은 무엇입니까?

미리 감사드립니다.

답변

6

델파이 5에서는 도구를 사용하여 응용 프로그램을 대형 주소 인식 (Delphi 6에서 {$SetPEFlags} 추가) 할 수 없습니다. PE 플래그를 포스트 빌드 설정으로 추가해야합니다. 해당 플래그를 설정하는 일반적인 방법은 Microsoft의 editbin 도구를 사용하는 것입니다.

일단 이렇게하면 2GB 경계를 초과하여 메모리를 할당하자마자 프로그램이 작동을 멈 춥니 다. 이는 기본 Borland 메모리 관리자가 큰 주소를 지원하지 않기 때문입니다. FastMM 또는 다른 LAA 가능 메모리 관리자로 교체해야합니다. 원하는 경우 예를 들어 HeapAlloc()을 사용하여 자체 교체 메모리 관리자를 작성할 수 있습니다.

+0

멋진데. 많은 분들께 데이비드에게 감사드립니다. editbin을 사용하여 플래그를 설정하고 FastMM을 사용하여 메모리 관리 및 예상대로 작업합니다. – Nalu