AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Guter Stil oder 'Wie programmiere ich vernünftig?'
Thema durchsuchen
Ansicht
Themen-Optionen

Guter Stil oder 'Wie programmiere ich vernünftig?'

Ein Thema von TPok · begonnen am 18. Apr 2006 · letzter Beitrag vom 19. Apr 2006
 
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

Re: Guter Stil oder 'Wie programmiere ich vernünftig?'

  Alt 18. Apr 2006, 23:35
Zitat von TPok:
Ein Problem fällt mir dabei sofort auf. Diesen handle ich mir durch das exit ein. Falls ich vor diesem Abschnitt z.B. einen Button deaktiviere und danach wieder aktivieren will, wird dies im Fehlerfall nicht ausgeführt, da die Prozedur einfach abgebrochen wird.
Du kannst dein Disable/Enable des Buttons mittels einer try/finally "schützen". Das Exit springt dann in das finally.

Zitat:
Fall 2:
Es ist ja hinlänglich bekannt, dass man zum Ressourcenschutz try..finally..end-Blöcke verwendet. Was mache ich aber, wenn ich gleich mehrere Objekte zur Laufzeit erstellen muß? Es kann ja prinzipiell überall ein Fehler auftreten. Das einzige, was mir einfällt, wäre ein Schachteln der Blöcke.
Alternativ kannst du auch alle Variablen vor dem ersten try auf NIL setzen und dann in einem einzigen finally diese freigeben, ohne dich um "if variable <> nil then..." zu kümmern, weil das .Free bzw. FreeAndNil selbst abfrägt. Dabei sollte aber vom Destruktor keine Exception geworfen werden, weil sonst alle folgenden Free Aufrufe nicht mehr durchgeführt werden.
  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 19:11 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