AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Klasse Freigeben, speicher bleibt aber in Benutzung
Thema durchsuchen
Ansicht
Themen-Optionen

Klasse Freigeben, speicher bleibt aber in Benutzung

Ein Thema von youuu · begonnen am 20. Sep 2010 · letzter Beitrag vom 20. Sep 2010
Antwort Antwort
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#1

Klasse Freigeben, speicher bleibt aber in Benutzung

  Alt 20. Sep 2010, 13:50
Hi,

Ich erstelle eine Klasse beim öffnen eines Formulars
Delphi-Quellcode:
    Form2 := TFormKunde.Create(nil);
    Data := TDaten.Create;
    Form2.Show;
Und im Form2 bei Beendigung gebe ich sie wieder frei mit

Data.Free; Allerdings bleibt der Speicher weiterhin besetzt und assigned gibt mir zurück das diese Klasse noch existiert
Steven
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Klasse Freigeben, speicher bleibt aber in Benutzung

  Alt 20. Sep 2010, 13:51
Es wird ja nur den Speicher freigegeben. Willst du die Referenz(Zeiger) zurücksetzen nimm FreeAndNil( data);
Markus Kinzler
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Klasse Freigeben, speicher bleibt aber in Benutzung

  Alt 20. Sep 2010, 13:54
Danke
Steven
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Klasse Freigeben, speicher bleibt aber in Benutzung

  Alt 20. Sep 2010, 16:06
Und was den Speicher angeht, den gibt der Delphi Speichermansger nicht sofort wieder an Windows zurück, um sich beim nächsten mal, das Anfordern zu ersparen. Btw. wie hast du den Speicherverbrauch eigentlich ermittelt?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#5

AW: Klasse Freigeben, speicher bleibt aber in Benutzung

  Alt 20. Sep 2010, 17:15
Im Taskmanager --> Prozess angeschaut.
Steven
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Klasse Freigeben, speicher bleibt aber in Benutzung

  Alt 20. Sep 2010, 19:49
Im Taskmanager --> Prozess angeschaut.
Wie gesagt, der Speichermanager reserviert ganze Bereiche bei Windoes und gibt diese Stückchenweise ans Delphiprogramm ab.

Erst wenn soein Bereich wieder programmseitig komplett freigegeben ist, wird dieser an Windows zurückgegeben.
$2B or not $2B

Geändert von himitsu (20. Sep 2010 um 20:01 Uhr)
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Klasse Freigeben, speicher bleibt aber in Benutzung

  Alt 20. Sep 2010, 19:52
Kann man ihn auch anderst komplett freigeben, ohne das Programm beenden zu müssen?
Steven
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

AW: Klasse Freigeben, speicher bleibt aber in Benutzung

  Alt 20. Sep 2010, 20:01
Nein, aber wozu will sollte man sowas überhaupt machen wollen?
Es ist ja gerade absichstlich so, daß Delphi dieses nicht immer sofort freigibt.

Du könntest z.B. einen anderen Speichermanager verwenden.
Und wenn es um "wichtige" Daten geht, dann überschreib das Freigeben des Objektes und überschreib, kurz vor Freigabe des Objekts, den Objektspeicher.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz