Помогите!!! Нужно сделать программу, которая определяет размер ОЗУ. Программа на Delphi Код написал по примеру, но не могу понять, что не так. Выбивает ошибку.
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
function GetMemoryTotalPhys: dword;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
memoryMB:=GetMemoryTotalPhys;
memoryMB:=((memoryMB div 1024)div 1024);
showmessage('RAM: '+ inttostr(memoryMB)+ ' MB');
end;
function TForm1.GetMemoryTotalPhys: dword;
var
recMemoryStatus: TMemoryStatus;
begin
// sets record size
recMemoryStatus.dwLength := SizeOf(TMemoryStatus);
// retrieves global memory status (WinAPI)
GlobalMemoryStatus(recMemoryStatus);
// sets result with total amount of memory
result := recMemoryStatus.dwTotalPhys;
end;
end.