AGB  ·  Datenschutz  ·  Impressum  







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

Thread Error

Ein Thema von Daniel B · begonnen am 19. Nov 2002 · letzter Beitrag vom 20. Nov 2002
 
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.123 Beiträge
 
Delphi 11 Alexandria
 
#10
  Alt 19. Nov 2002, 23:21
Moin Daniel,

wenn Du immer sicherstellst, dass OnClose auch aufgerufen wird ist der gibt's eigentlich keinen Unterschied.
Solltest Du aber auch nur mal ein Formular dynamisch erzeugen, und mit Free wieder freigeben hast Du den Salat, wenn Du Deine Aufräumarbeiten im OnClose erledigen willst. Das wird dann nämlich auch nicht aufgerufen.

Wenn man immer genau aufpasst, dass die belegeten Resourcen immer wieder sauber freigegeben werden spielt der Zeitpunkt natürlich keine Rolle, an dem das geschieht.

Ich halte es allerdings für eine Verringerung der Fehlerwahrscheinlichkeit, wenn man sich für so etwas an Stellen gewöhnt, die bei einem normalen Programmablauf auch garantiert aufgerufen werden.

Soll heissen:
Werden Resourcen belegt (z.B. durch Create, so es sich denn nicht um eine Komponente mit Angabe des Owners handelt), gehört als nächstes ein try/finally Block gesetzt.
Oder Resourcen werden in OnCreate/OnDestroy bzw. initialization/finalization Paaren belegt/freigegeben.

Es mag natürlich immer mal Ausnahmen von der Regel geben, aber wo dieses nicht zwingend notwendig ist, halte ich es für sinnvoll diese Regeln für saubere Programme einzuhalten.
Manchmal kann man auch feststellen, dass man ein strukturelles Problem mit seinem Programm hat, wenn sich so eine Regel nicht einhalten lässt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
 


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 13:29 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