Delphi-PRAXiS
Seite 5 von 7   « Erste     345 67      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Record als Result einer Funktion (https://www.delphipraxis.net/203816-record-als-result-einer-funktion.html)

NoGAD 30. Mär 2020 10:10

AW: Record als Result einer Funktion
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1460789)
Zitat:

Zitat von NoGAD (Beitrag 1460787)
Automatisch erstellte Forms sind auch globale Variablen.

Ja, und die gelten vielen auch als böse.

Was hilft dagegen?
Ich möchte gerne wissen, wie ein Funktionsaufruf mit 50 Parametern gut sein soll?

dummzeuch 30. Mär 2020 10:16

AW: Record als Result einer Funktion
 
Zitat:

Zitat von NoGAD (Beitrag 1460787)
Generell habe ich eine Frage dazu:

Automatisch erstellte Forms sind auch globale Variablen.
Was ist der Unterschied zu einer in einer Unit gekapselten globalen Variable?

Es gibt keinen, außer, dass die IDE sie automatisch erstellt.

Deshalb sind diese Variablen auch mit das erste, was ich lösche (nach den unsinnigen Kommentaren ala "private Deklarationen"). Es gibt in meinen Programmen immer nur genau eine globale Form-Variable: Die Main-Form, die beim Programm automatisch erzeugt wird. Der Rest wird bei Bedarf mit lokalen Variablen erzeugt.

twm

Uwe Raabe 30. Mär 2020 10:18

AW: Record als Result einer Funktion
 
Zitat:

Zitat von NoGAD (Beitrag 1460790)
Was hilft dagegen?
Ich möchte gerne wissen, wie ein Funktionsaufruf mit 50 Parametern gut sein soll?

Ist er nicht. Das rechtfertigt aber immer noch keine globalen Variablen - insbesondere nicht als implizite Parameter-Puffer.

Ein Ansatz wäre die (oder einige der) Parameter in einer Record-Struktur oder einem Parameter-Objekt zusammenzufassen. Sollte sich an der Parameterliste später mal was ändern, bleiben zumindest die Signaturen der Methoden unverändert.

Andererseits schreit eine Methode mit 50 Parametern eigentlich auch nach einer Separierung der Funktionalität in eine eigene Klasse.

NoGAD 30. Mär 2020 10:31

AW: Record als Result einer Funktion
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1460792)
Ein Ansatz wäre die (oder einige der) Parameter in einer Record-Struktur


Das verstehe ich leider nicht. Meine monierte globale Variable ist ein Record. :?:

Uwe Raabe 30. Mär 2020 10:37

AW: Record als Result einer Funktion
 
Der Record soll als Parameter an die Methode übergeben werden.

NoGAD 30. Mär 2020 10:48

AW: Record als Result einer Funktion
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1460794)
Der Record soll als Parameter an die Methode übergeben werden.

Danke. Ich überdenke es.

Uwe Raabe 30. Mär 2020 10:52

AW: Record als Result einer Funktion
 
Das bezog sich auch eigentlich auf den Einwand mit den 50 Parametern, die man besser in einen Parameter-Record oder ein Parameter-Objekt umwandeln sollte.

Siehe auch: Introduce Parameter Object

NoGAD 30. Mär 2020 11:09

AW: Record als Result einer Funktion
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1460796)


Kannst Du das als Text kopieren? Ich habe keinen Zugriff auf die Seiten.

Uwe Raabe 30. Mär 2020 11:23

AW: Record als Result einer Funktion
 
Zitat:

Zitat von NoGAD (Beitrag 1460798)
Kannst Du das als Text kopieren? Ich habe keinen Zugriff auf die Seiten.

Sorry, dann ist das wohl geschütztes Material. In dem Fall (und überhaupt) empfehle ich den Erwerb des Buches.

NoGAD 30. Mär 2020 11:40

AW: Record als Result einer Funktion
 
Wäre es denn sinnvoll, aus OOP - Sicht, meine Unit: Unit_ABS_DBFunctions.pas neu zu schreiben?


Jedoch fehlt mir das Wissen, um hier z.B. eine eigene Klasse zu erstellen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:21 Uhr.
Seite 5 von 7   « Erste     345 67      

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 by Thomas Breitkreuz