![]() |
Resource löschen
Ich binde in meine Programme gelegentlich .res Dateien ein, die Daten enthalten, die man normalerweise aus einer Datei einliest.
Beim Start des Programms, genauer im FormCreate der MainForm werden diese Daten dann aus der Resource gelesen und in entsprechenden Datenarrays gespeichert. Danach wird die Resource nicht nehr benötigt und könnte aus dem Speicher entfernt werden. Ich habe gesucht und "DeleteResource" gefunden, aber das scheint etwas anderes zu sein. Frage: Kann man zur Laufzeit eine Resource löschen? (mit dem Ziel den Speicherbedarf des Programms zu senken) |
AW: Resource löschen
Zitat:
|
AW: Resource löschen
Nein, im Programm-Speicher (virtueller Speicher) sind die immer geladen vorhanden,
aber Windows hat die Möglichkeiten bei solchen Sektionen Ungenutztes (wo länger nicht drauf zugegriffen wurde) zu entladen, aus dem physischen RAM. Das geht dann auch nicht in die Auslagerungsdatei, da Windows das beim nächsten Zugriff einfach aus der Datei (DLL/EXE/BPL) laden/wiederherstellen kann. Bei der Verwendung könnte man sich auch das Array sparen und direkt einen Zeiger auf die Ressouce nutzen. Für dich wäre eventuell eine Ressourcen-DLL das passende, wenn es "viele" Daten sind. Über LoadLibraryEx+LOAD_LIBRARY_AS_DATAFILE kann man soeine DLL laden (wobei nicht der InitCode der DLL ausgeführt wird) und nach Benutzung dann einfach wieder FreeLibrary. |
AW: Resource löschen
Zitat:
Ich habe nach so etwas wie "FreeResource(ResName:String)" oder "RemoveResource(ResName:String)" gesucht. Kurz gesagt, ich habe die Winapi.Windows nach "Resource" (und nicht als ganzes Word) durchsucht. gefunden habe ich "FreeResource" aber auch den Hinweis Zitat:
|
AW: Resource löschen
Das macht Windows von alleine, wenn es mehr Platz im Speicher braucht, für Anderes.
|
AW: Resource löschen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz