Kannst es ja mal damit versuchen. Mit dem Code funktioniert es einwandfrei.
Code:
procedure TForm1.Timer1Timer(Sender: TObject);
var
x, y : real;
memory: TMemoryStatus;
begin
memory.dwLength := SizeOf(memory);
GlobalMemoryStatus(memory);
label1.Caption :='Totaler Arbeitsspeicher: ' +
IntToStr(memory.dwTotalPhys) + ' Bytes';
label2.Caption :='Freier Arbeitsspeicher: ' +
IntToStr(memory.dwAvailPhys) + ' Bytes';
x := memory.dwTotalPhys - memory.dwAvailPhys;
y := memory.dwTotalPhys;
Gauge1.Progress := round(((x/y)*100));
end;
Das Intervall des Timers habe ich auf 1 gestellt.
Auf den Labels wird der totale und der freie Arbeistspeicher angezeigt und mit dem Gauge die Auslastung in Prozent.