AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Form entladen???

Ein Thema von max666 · begonnen am 8. Sep 2004 · letzter Beitrag vom 8. Sep 2004
Antwort Antwort
max666

Registriert seit: 21. Dez 2003
50 Beiträge
 
#1

Form entladen???

  Alt 8. Sep 2004, 16:26
Hallo!

Ich habe mal folgende Frage zur Freigabe von Speicher: Wenn ich von einer Anwendung aus eine andere Form erzeuge mit:

Delphi-Quellcode:
form9:=TForm9.Create(Application);
form9.Width:=250;
form9.Height:=90;
form9.Show;
und nach Beendigung meiner Arbeit in der Form9 diese Form schließen und entladen möchte, dann muss ich das doch machen mit:

Delphi-Quellcode:
Form9.close;
Form9.Release;
Nur leider muss ich mit dem Taskmanager feststellen, dass meine Anwendung auch nach Schließen des Fensters (Form9) noch immer den Speicherplatz benötigt, den es benötigt hat, als ich Form9 erzeugt hatte.
Und wenn ich die Form9 mehrmals erzeuge und schließe, steigt der benötigte Speicherplatz mit jeder Erzeugung der Form9 etwas an.

Kann mir jemand sagen, was ich falsch mache?

Gruß aus dem Emsland!
MAX666
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Form entladen???

  Alt 8. Sep 2004, 16:30
Probiers mal mit Form9.free;
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#3

Re: Form entladen???

  Alt 8. Sep 2004, 16:31
Hi!

Ich weiß nicht genau, was Release macht, aber teste doch mal

Delphi-Quellcode:
FreeandNil(Form9);
// oder
Form9.Free;

Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
max666

Registriert seit: 21. Dez 2003
50 Beiträge
 
#4

Re: Form entladen???

  Alt 8. Sep 2004, 16:35
Hallo!

In der Delphi-Help steht drin, dass man Free nicht verwenden soll, da Pointer-Probleme auftreten können. Habe ich allerdings schon versucht und erhielt immer eine Fehlermeldung.
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Form entladen???

  Alt 8. Sep 2004, 16:35
Zitat von Die Delphi OH:
Use Release to destroy the form and free its associated memory.

Release does not destroy the form until all event handlers of the form and event handlers of components on the form have finished executing. Release also guarantees that all messages in the form's event queue are processed before the form is released. Any event handlers for the form or its children should use Release instead of Free (Delphi) or delete (C++). Failing to do so can cause a memory access error.
release ist dem free bei formularen also vorzuziehen

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Form entladen???

  Alt 8. Sep 2004, 16:38
ich habe das ganze grad mal bei meinem aktuellen projekt geprüft (welches seeehr viele fenster verwendet).

ich habe dasselbe problem!

weiß jemand, wie man den speicher wieder richtig "leert"?

mein programm ist ein instant messenger und jedesmal, wenn sich jemand anmeldet, kommen ca. 500KB dazu (hängt aber von der zahl seiner kontakte ab)

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
max666

Registriert seit: 21. Dez 2003
50 Beiträge
 
#7

Re: Form entladen???

  Alt 8. Sep 2004, 16:49
Also mit Free funktioniert es bei mir.
Du musst aber zusehen, dass keine Variablen, Funktionen, Procedure usw. von einer anderne Form auf die zu schließende Form und umgekehrt verweisen.
  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:52 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