Freepascal Memory Manager

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Weizenbaum
Beiträge: 28
Registriert: Mi 24. Aug 2016, 09:00

Freepascal Memory Manager

Beitrag von Weizenbaum »

Hallo,
ich habe auf Grundlage der Informationen aus diesem Thread -> viewtopic.php?f=10&t=7197&p=64209&hilit ... ger#p64209
die heaph.inc in mein Programm eingebunden, bekomme aber jedoch folgende Meldung: umain.pas(9,67) Fatal: Kann heaph.inc nicht finden verwendet von umain des Projektinspektors.

Eine Suche im Freepascal Wiki ergab jedoch auch denselben Namen "heaph.inc"
https://www.freepascal.org/docs-html/rt ... tatus.html

Wo kann ich diese Unit runterladen? Ich brauche die, um nachzusehen, wieviel Speicher in der Logikschicht schon belegt ist mit den Daten aus meinen Firebird-Tabellen (Datenhaltungsschicht) , um rechtzeitig reagieren zu können.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2640
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Freepascal Memory Manager

Beitrag von m.fuchs »

Das ist keine Unit sondern eine .inc-Datei. Die kann man benutzen um eine Unit in kleinere Dateien aufzusplitten.
Die Beschreibung von THeapStatus und GetHeapStatus sagt ganz oben rechts: "Reference for unit 'System'".
Das ist also die gesuchte Unit. Bei System ein Spezialfall vor: sie ist automatisch IMMER eingebunden. Du musst gar nichts in der uses-Klausel angeben.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Weizenbaum
Beiträge: 28
Registriert: Mi 24. Aug 2016, 09:00

Re: Freepascal Memory Manager

Beitrag von Weizenbaum »

Ach rechts oben, hab ich total übersehen in den kleinen Eckenversteck ;-)
Ja das ist sehr hilfreich, ich will nämlich auch für ältere Systeme mit wenig RAM-Speicher unter Windows XP oder den neueren Windows 7 einen Speicherüberlauf vorher abwenden und Datensätze die wohl eher kaum verwendet werden, wieder aus der Logikschicht entfernen, um Platz im Heapspeicher zu schaffen.
Hoffe mal das das dann im August unter Ubuntu auch gut klappt mit den kompilieren, Freepascal ist ja unter allen möglichen Systemen einsetzbar.

PascalDragon
Beiträge: 830
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Freepascal Memory Manager

Beitrag von PascalDragon »

Wäre es dann nicht sinnvoller, dass du gezielt die jeweiligen Datensätze freigibst, statt mit dem HeapManager rumzuspielen?
FPC Compiler Entwickler

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Freepascal Memory Manager

Beitrag von Socke »

PascalDragon hat geschrieben:
Fr 26. Mär 2021, 15:28
Wäre es dann nicht sinnvoller, dass du gezielt die jeweiligen Datensätze freigibst, statt mit dem HeapManager rumzuspielen?
Weizenbaum wollte ja den Heap-Status abfragen, das ist gar nicht mal so verwerflich - auch wenn die zurückgegebenen Werte auf verschiedenen Betriebssystemen unterschiedlich akkurat und unterschiedlich zu interpretieren sind.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten