AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein EllipsisCharacter funktioniert nicht
Thema durchsuchen
Ansicht
Themen-Optionen

EllipsisCharacter funktioniert nicht

Ein Thema von EWeiss · begonnen am 14. Feb 2017 · letzter Beitrag vom 22. Feb 2017
 
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#11

AW: EllipsisCharacter funktioniert nicht

  Alt 21. Feb 2017, 23:43
mit begin.. end else oder mit try.. finally arbeite ist gehüpft wie gesprungen.
Ich sehe keine Bereicherung bei dieser Verwendung.
Schau dir nochmal das Beispiel aus meinem Edit an, vielleicht wird dann klarer was ich meine.

Konkret hat try..finally für dich in deinem Codebeispiel die folgenden Vorteile:
  1. Die Tiefe deiner Verschachtelung nimmt nicht pro Objekt/Handle um eine Ebene zu
  2. Du hast keine redundanten Finalisierungen

Klar kannst du es auch ohne try..finally hinbekommen, dass deine Objekte nur finalisiert werden, wenn sie zuvor auch korrekt initialisiert wurden, aber dann landest du zwangsweise bei Variante 1 oder 2 meines "C" Negativbeispiels.

Edit:
Andererseits prüfe ich nie auf Nil..
Sondern auf bsp. if Assigned(Fam) then
Zitat:
Die Exception-Hilfsfunktion ist hierbei natürlich optional
Es ist Gewohnheit die Bedingungen direkt ohne Umwege zu prüfen. (Sehe da kein Manko in irgendeiner weise).
Beides vollkommen legitim Der Springende Punkt ist eher, dass mit deiner Überprüfung ein neuer Block (und damit eine neue Verschachtelungs-Ebene) einhergeht, während bei der try..finally Variante lediglich ein Exit bzw. ein raise folgen muss.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)

Geändert von Zacherl (21. Feb 2017 um 23:48 Uhr)
  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 18:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz