5,392
社区成员
发帖
与我相关
我的任务
分享
unit DecisionCubeBugWorkaround;
interface
uses Windows, Mxarrays;
implementation
function GetAvailableMem: Integer;
const
//MaxInt: Int64 = High(Integer); if Upper than 3 Delphi Version
MaxInt = High(Integer);
var
MemoryStatus: TMemoryStatus;
//AvailableMem: Int64; if Upper than 3 Delphi Version
AvailableMem: LongInt;
begin
MemoryStatus.dwLength :=SizeOf(MemoryStatus);
GlobalMemoryStatus(MemoryStatus);
AvailableMem:= MemoryStatus.dwAvailPhys;
if AvailableMem >= 0 then
AvailableMem:= AvailableMem + MemoryStatus.dwAvailPageFile;
if AvailableMem < 0 then
Result := MaxInt
else
Result := AvailableMem;
end;
initialization
Mxarrays.SetMemoryCapacity(GetAvailableMem);
end.