Delphi xe8在编译一个大程序的时候,会出现一个内存不够的错误,有时候是以Internal Error的形式出现,有时候是以Out of Memory的形式出现。主要原因是IDE调用各种资源占用了大量内存资源,再以DLL方式调入编译器的时候,就会出现内存不够的情况。
要解决这个问题,需要采用进程外编译的方式,就是让编译器以单独进程的方式运行,而不是以DLL的方式调入IDE的内存空间。设置方式如下:
- Project | Options | Delphi Compiler, set Use MSBuild externally to compile (如果是工程组的话,每一个工程都要这么设置)
- Project | Options | Delphi Compiler | Compiling | Debugging, set Use debug .dcus to False