Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TForm mit BorderStyle=bsNone Frage (https://www.delphipraxis.net/166319-tform-mit-borderstyle%3Dbsnone-frage.html)

RWarnecke 8. Feb 2012 08:06

AW: TForm mit BorderStyle=bsNone Frage
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1149802)
Sehe ich das richtig, daß du bei jedem Doppelclick in den ListView eine neue Instanz für BillingDetails erstellst?

Ja, das mache ich.
Zitat:

Zitat von Uwe Raabe (Beitrag 1149802)
Wenn du keine besonderen Vorkehrungen getroffen hast, wird das Form bei einem Close eigentlich auch nur versteckt und nicht freigegeben.

Ich habe aber immer gedacht, dass bei einem Close die Form geschlossen wird und auch alles frei gegeben wird. So lernt man nie aus. :gruebel:

Die Form schliesse ich über einen Button so :
Delphi-Quellcode:
  // To close and destroy the form with all data in the memory
  BillingDetails.Close;
  BillingDetails.Release;
Und im Ergenbis OnClose der Form steht noch
Delphi-Quellcode:
Action := caFree
drin. Damit sollte ich doch alles von der Form schliessen und auch wieder freigeben oder habe ich etwas vergessen ?

Uwe Raabe 8. Feb 2012 08:29

AW: TForm mit BorderStyle=bsNone Frage
 
Zitat:

Zitat von RWarnecke (Beitrag 1149804)
Die Form schliesse ich über einen Button so :
Delphi-Quellcode:
  // To close and destroy the form with all data in the memory
  BillingDetails.Close;
  BillingDetails.Release;
Und im Ergenbis OnClose der Form steht noch
Delphi-Quellcode:
Action := caFree
drin. Damit sollte ich doch alles von der Form schliessen und auch wieder freigeben oder habe ich etwas vergessen ?

In dem Fall ist das völlig korrekt, wobei das nach dem Close folgende Release dann überflüssig ist.

Andererseits, was spricht gegen das Beibehalten der Instanz? Du musst doch auch bei einer neuen Form-Instanz die Daten füllen. Bei einer bestehenden würden die vorigen Daten damit doch auch überschrieben.

Ehrlich gesagt, bin ich auch immer noch nicht sicher, daß ich das Problem richtig erfasst habe.

Sir Rufo 8. Feb 2012 08:48

AW: TForm mit BorderStyle=bsNone Frage
 
Bei der Vorgehensweise würde ich aber dringend dazu raten
Delphi-Quellcode:
// To close and destroy the form with all data in the memory
BillingDetails.Close;
BillingDetails := nil;
EDIT:
Denn jetzt kann man ganz leicht abfragen, ob diese Form noch existiert
Delphi-Quellcode:
if Assigned( BillingDetails ) then
 ...

RWarnecke 8. Feb 2012 14:34

AW: TForm mit BorderStyle=bsNone Frage
 
Hallo Sir Rufo,

danke für Deine Antwort. Das war es genau, wonach ich gesucht habe. Jetzt funktoniert alles so wie ich es will.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 Uhr.
Seite 2 von 2     12   

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