AGB  ·  Datenschutz  ·  Impressum  







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

TForm sauber schleißen

Ein Thema von ATS3788 · begonnen am 4. Jan 2013 · letzter Beitrag vom 5. Jan 2013
Antwort Antwort
Furtbichler
(Gast)

n/a Beiträge
 
#1

AW: TForm sauber schleißen

  Alt 4. Jan 2013, 18:03
Wir erinnern uns, globale Variablen sind doof und sollten idR vermieden werden, auch wenn Delphi das mit seinem RAD Ansatz vormacht und damit einen quasi Standard vorgaukeln möchte.
Application = Doof. Und Screen auch.

Bei Delphi sieht man das eben nicht so eng, es ist ja schließlich auch keine richtige OOP-Programmiersprache.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: TForm sauber schleißen

  Alt 4. Jan 2013, 18:56
Wir erinnern uns, globale Variablen sind doof und sollten idR vermieden werden, auch wenn Delphi das mit seinem RAD Ansatz vormacht und damit einen quasi Standard vorgaukeln möchte.
Application = Doof. Und Screen auch.
Die Implementierung ist tatsächlich doof und könnte auch besser gemacht werden (siehe Printer ).
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#3

AW: TForm sauber schleißen

  Alt 5. Jan 2013, 08:41
Danke
für die Antworten.
Sir Rufo es geht nur ums
verstehen und Deine Methode ist
echt interessant.

Martin Michael
Martin MIchael
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: TForm sauber schleißen

  Alt 5. Jan 2013, 11:09
Die Implementierung ist tatsächlich doof und könnte auch besser gemacht werden (siehe Printer ).
Dann hätten wir doofe Singletons. Und globale Variablen sind ja nichts anderes als Singletons ohne Schutzmechanismen. Ach egal.
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#5

AW: TForm sauber schleißen

  Alt 5. Jan 2013, 12:36
Hallo
Sir Rufo wahrscheinlich habe ich nicht richtig erklärt
was ich möchte. Ich habe Ein Main Form und von diesem
steure ich 2 andere Sub Fenster. Habe dies nun damit gelöst
indem ich vom Sub Index Fenster bei FormClose mit sendMessage dem Main Fenster
mitteile bitte FreeAndNil und das funktioniert wunderbar.

Danke für die Antworten

Martin Michael
Martin MIchael
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#6

AW: TForm sauber schleißen

  Alt 5. Jan 2013, 12:40
Eine schöne und einfache Lösung. Zeig doch mal den Code, dann haben alle etwas davon.
  Mit Zitat antworten Zitat
Gerd01

Registriert seit: 18. Mär 2005
Ort: NRW
117 Beiträge
 
Delphi XE2 Professional
 
#7

AW: TForm sauber schleißen

  Alt 5. Jan 2013, 17:01
Wenn Du eine Form modal aufrufst ist dieser Konstrukt das Mittel der Wahl:

Code:
With TMyForm.Create ( Application oder NIL, etc ) do
Try
  ...
  ShowModal;
  ...
Finally
  Free;
End;
Wenn Du eine Form nicht modal aufrufst ( z.B. mit Show )
dann schreibe in die Formclose der jeweiligen Form:

Code:
procedure TMyForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action := caFree;
end;
und schließe alle offenen Forms bei Programmende oder wenn gewünscht.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#8

AW: TForm sauber schleißen

  Alt 5. Jan 2013, 19:53
Ja ja. Aber das Problem sind Instanzen nicht modaler Dialoge.

Delphi-Quellcode:
...
  MyDialog := TNonModalForm.Create(Self);
  MyDialog.Show;
...

// Wird der Dialog nun geschlossen (mit caFree), zeigt MyDialog ins Nirvana.
// Dieses Probleme wurde nun gelöst, aber nicht von Dir.
  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 12:02 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