Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Brauche Idee, um immer wiederkehrenden Quellcode zu vermeiden. (https://www.delphipraxis.net/183857-brauche-idee-um-immer-wiederkehrenden-quellcode-zu-vermeiden.html)

Uwe Raabe 10. Feb 2015 09:59

AW: Brauche Idee, um immer wiederkehrenden Quellcode zu vermeiden.
 
Zitat:

Zitat von sh17 (Beitrag 1289380)
Warum sollten die Aufrufe den Lock selbst steuern?

Es gibt da zwei Herangehensweisen und beide haben ihre Vor- und Nachteile. Die eine geht davon aus, daß der Funktionsaufruf alles Nötige kapselt und die Threadsicherheit herstellt, während die andere sich lediglich um die Funktionalität kümmert und bestimmte Anforderungen an die Umgebung stellt. In gewissem Sinne ist die zweite Art das, was du implementierst: Die einzelnen Funktionen werden mit einem Wrapper versehen, der sich um Locks und Error-Handling kümmert. Da ist erstmal nichts falsch dran.

Zitat:

Zitat von sh17 (Beitrag 1289380)
Was ich auch noch festgestellt habe, var Parameter in TuDies(var _UID : Integer) können nicht aus der anonymen Methode genutzt werden,

Das ist eine Einschränkung bei Anonymen Methoden. In diesem Fall kann der Compiler nicht wissen, wo die Variable wirklich liegt, und kann sie somit nicht einfach in die Closure verlagern.

Der schöne Günther 10. Feb 2015 11:06

AW: Brauche Idee, um immer wiederkehrenden Quellcode zu vermeiden.
 
Aber wenn man die Variable lokal einfach nochmal kopiert kommt eine Closure da doch problemlos dran, oder?

sh17 10. Feb 2015 11:11

AW: Brauche Idee, um immer wiederkehrenden Quellcode zu vermeiden.
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1289398)
Aber wenn man die Variable lokal einfach nochmal kopiert kommt eine Closure da doch problemlos dran, oder?

Ja, das ginge, allerdings müsste ich da wieder extra eine Prüfung einbauen, ob die Variable rückzu gesetzt wurde, weil das nicht immer passiert.

Außerdem spinnt der Debugger bei der lokalen Variable, die erscheint dann nicht mehr zur Auswertung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:16 Uhr.
Seite 2 von 2     12   

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