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.
Freepascal Memory Manager
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2817
- 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
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.
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
-
- Beiträge: 28
- Registriert: Mi 24. Aug 2016, 09:00
Re: Freepascal Memory Manager
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.

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.
-
- Beiträge: 955
- 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
Wäre es dann nicht sinnvoller, dass du gezielt die jeweiligen Datensätze freigibst, statt mit dem HeapManager rumzuspielen?
FPC Compiler Entwickler
-
- Lazarusforum e. V.
- Beiträge: 3178
- 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
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.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?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein