Forum: Object-Pascal / Delphi-Language
by jaenicke,
1. Jul 2022
Ganz kostenlos ist der Aufruf nicht, aber solange man das nicht in einer Schleife sehr oft aufruft, spielt das keine Rolle. Das try..finally Handling dürfte da ohnehin teurer sein.
Forum: Object-Pascal / Delphi-Language
by jaenicke,
29. Jun 2022
Wie ich schon geschrieben habe halte ich FreeAndNil durchaus an manchen Stellen für sinnvoll. Wenn du aber wirklich Probleme mit Bugs hast, wenn du kein FreeAndNil verwendest, dann hast du wohl eher ganz andere Probleme...
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...
Forum: Object-Pascal / Delphi-Language
by jaenicke,
29. Jun 2022
Davor warnt der Compiler, wenn man vergisst eine Variable vor der Verwendung zu initialisieren.
Forum: Object-Pascal / Delphi-Language
by jaenicke,
28. Jun 2022
Ich verwende FreeAndNil z.B. in Schnittstellen. Wenn ich ein Interface nach außen herausgebe, kann ich nicht prüfen, ob ein außenstehendes Stück Code die Referenzzählung korrekt durchführt. Es könnte also sein, dass jemand noch eine Referenz behält, das Objekt aber freigegeben wurde. Ohne FreeAndNil bekommt man dann eine nichtssagende Schutzverletzung.
Forum: Object-Pascal / Delphi-Language
by jaenicke,
28. Jun 2022
Solange man seine Meinung dazu auch begründen kann...
Ich finde, dass es sowohl Anwendungsfälle gibt, an denen FreeAndNil sehr viel Sinn macht, als auch solche, bei denen es keinen / wenig Sinn macht.