AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Webinar FreeAndNil

Ein Thema von Rollo62 · begonnen am 24. Jun 2022 · letzter Beitrag vom 4. Jul 2022
 
freimatz

Registriert seit: 20. Mai 2010
1.520 Beiträge
 
Delphi 11 Alexandria
 
#28

AW: Webinar FreeAndNil

  Alt 29. Jun 2022, 17:52
Genau dann "liegt ein Defekt in der Architektur" vor.
Die Aussage ich zu generell... Aber genau darum geht es ja...

Mit FreeAndNIL ist es "egal".

Ich finde, das sollte der Entwickler schon wissen.
Theoretisch richtig.... Mit - sagen wir mal - 50 Komponenten auf einem Form die OnExit, OnEnter und ggf. noch mit SetFocus arbeiten... Wer kann da schon ohne debug Ausgaben sagen, was in welcher Reihenfolge kommt.

Wäre nicht das 1. mal, dass ich hier von der Reihenfolge überrascht wurde.
Ich bleibe dabei dass das generell (nicht prinzipiell) gilt.
Wenn man nicht weiss aber auch wenn man weiss in welcher Reihenfolge Events kommen - entweder
a) erzeugt man das Objekt in der Methode und gibt die abgesichert durch try finally in der Methode auch wieder frei.
b) Wenn man die Daten übergreifend benötigt, dann erzeugt man das Objekt bei der Erzeugung des Forumlars und gibt es bei der Zerstörung des Formulars wieder frei.
c) benutzt man (so wie ich meistens) nur Objekte mit Referenzählung.
Nachschlag:
1. Bei der Benutzung von TStringlist "liegt ein Defekt in der Architektur" vor - meistens.
2. Bei 50 Komponenten auf einem Form "liegt ein Defekt in der Architektur" vor - meistens.

Das gilt natürlich nicht für Stellen, an denen nil explizit als Flag für "nicht zugewiesen" verwendet wird, das also so gedacht ist. Dann darf man es natürlich nirgends an solchen Stellen weglassen oder vergessen (was bei mehreren Personen, die am Quelltext arbeiten, auch problematisch sein kann). Das klang jetzt aber nicht so, als ob das gemeint ist.

Geändert von freimatz (30. Jun 2022 um 10:40 Uhr)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:33 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