AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Free oder nicht free - das is hier die Frage ...

Free oder nicht free - das is hier die Frage ...

Ein Thema von moelski · begonnen am 24. Jun 2008 · letzter Beitrag vom 24. Jun 2008
Antwort Antwort
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

Free oder nicht free - das is hier die Frage ...

  Alt 24. Jun 2008, 11:36
Moin !

Habe mal ne Frage zum Verständnis ...

Wir nutzen folgendes um nicht beim Anwendungsstart alle Formulare erzeugen zu lassen:
Delphi-Quellcode:
  if not Assigned(UpdateForm) then
    UpdateForm := TUpdateForm.Create(Self);
  UpdateForm.Show;
Und beim Schließen des Formulars das hier:
Delphi-Quellcode:
  UpdateForm.Free;
UpdateForm := NIL;
Wird eigentlich das Formular damit wieder komplett aus dem Speicher entfernt, oder bleibt der Speicher den das Forumalr belegt hat weiterhin belegt?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Free oder nicht free - das is hier die Frage ...

  Alt 24. Jun 2008, 11:39
wenn du Leaks drin hast bleibt speicher belegt.

ansonsten müste alles wieder frei sein.

Testen kannst du das mit Units wie Memcheck.pas
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
16.805 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Free oder nicht free - das is hier die Frage ...

  Alt 24. Jun 2008, 11:40
Ein Nicht Modales Dialog muß per .Release freigegeben werden ansonsten wirst du ab und zu Probleme mit dem Callstack/Windows-Message-Handling bekommen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Free oder nicht free - das is hier die Frage ...

  Alt 24. Jun 2008, 11:41
Du kannst auch sowas machen, dann wird das Form beim Schliessen automatisch gelöscht.
Macht aber meiner Meinung nur Sinn bei modalen Fenstern.

Delphi-Quellcode:
procedure TFoAboutBox.FormClose (Sender: TObject; var Action: TCloseAction);
begin
  // dispose on Close
  Action := caFree;
end;
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Free oder nicht free - das is hier die Frage ...

  Alt 24. Jun 2008, 11:49
Moin !

Spricht dann was dagegen generell ein .Release zu verwenden?

Oder muss ich bei Show -> Release und bei ShowModal -> Free ?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Free oder nicht free - das is hier die Frage ...

  Alt 24. Jun 2008, 11:53
Aus der Delphi7-Hilfe:
Zitat:
Um ein Formular freizugeben, ruften Sie seine Methode Release auf. Dadurch wird sichergestellt, dass das Formular erst aus dem Speicher entfernt wird, wenn die Ausführung seiner eigenen und der Ereignisbehandlungsroutinen seiner Komponenten beendet ist.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Free oder nicht free - das is hier die Frage ...

  Alt 24. Jun 2008, 11:53
Ok ich nehm ein Release und bin glucklitsch
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.469 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

Re: Free oder nicht free - das is hier die Frage ...

  Alt 24. Jun 2008, 12:32
Zitat von moelski:
Spricht dann was dagegen generell ein .Release zu verwenden?
Wenn die Name-Eigenschaft deines Formulars immer den selben Namen haben und nicht ein _1, _2, ... angehängt bekommen soll, dann kann ein Release schon mal dagegen laufen. Denn Release gibt das Formular erst frei, wenn die Release-Botschaft verarbeitet wurde. Erzeugst du in der Zeit aber ein neues Formular der selben Klassen im selben Owner, dann wird _1, _2, ... an den Namen angehängt.
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Free oder nicht free - das is hier die Frage ...

  Alt 24. Jun 2008, 12:36
Moin !

Und von was hängt die Release Botschaft ab?
Bzw. was ist nun die sinnvollste Vorgehensweise?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf