AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Zurück zum Aufrufer - Strategien zum zurückgeben von Daten
Tutorial durchsuchen
Ansicht
Themen-Optionen

Zurück zum Aufrufer - Strategien zum zurückgeben von Daten

Ein Tutorial von generic · begonnen am 23. Aug 2020 · letzter Beitrag vom 7. Sep 2020
Antwort Antwort
generic
Registriert seit: 24. Mär 2004
In den Video zeige ich euch verschiedene Strategien zum zurückgeben von Daten aus einer Funktion an dem Aufrufer.

https://www.youtube.com/watch?v=cWaQkXX02gM

Besprecht doch in den Kommentaren die unterschlichen Lösungen und teilt ggf. auch noch andere Möglichkeiten mit.
 
Lemmy

 
Delphi 10.3 Rio
 
#2
  Alt 24. Aug 2020, 09:41
Servus,

anstelle der Übergabe mit VAR würde ich hier OUT verwenden. Es soll ja nur was raus gegeben werden und nix rein und dort verändert...
Grüße
  Mit Zitat antworten Zitat
Rollo62

 
Delphi 12 Athens
 
#3
  Alt 24. Aug 2020, 15:26
Interessante Zusammenfssung, dankesehr.

Ich benutze gerne die Version mit anyonymen Funktionen, was ich allerdings nicht ganz nachvollziehe ist das "kunde.Free" in der AnonProc-Funktion.

clipboard01.jpg

Ist das jetzt schlechter Stil von mir, oder ist das beim Sample anders gedacht ?

Hintergrund:
Ich sehe ich das in etwa so:
Der Aufrufer ist der Caller der AnonProc im "GibKunde(",
und nach dem Aufruf der AnonProc räumt dieser "Caller" auch mit .Free wieder auf.

Damit muss innerhalb der AnonProc nicht über die Lebenszeit eines Objektes entschienden werden.

Das liegt vielleicht auch ein bischen an der Nomenklatur bei mir:
- sowas wie GibXxx, MachXxx, GetXxx, SetXxx BENUTZT lediglich ein Objekt, aber besitzt es nicht
- sowas wie CreateXxx, NewXxx ERZEUGT ein Objekt, für die Verwendung woanders

Im vorliegenden Fall fände ich da meine Vorgehensweise plausibler.
Falls GibKundee im Sinne von CreateKunde arbeiten soll, dann würde der erzeugte Kunde aussen noch weiter benutzt, und auch aussen zerstört.
  Mit Zitat antworten Zitat
generic

 
Delphi XE5 Professional
 
#4
  Alt 25. Aug 2020, 23:32
Lemmy, Rollo62 - ihr habt beide Recht und ich finde eure Lösungen besser. Super und Daumen hoch!

An OUT hab ich überhaupt nicht gedacht als ich die Beispiele gemacht habe.
Das mit dem Free erzähl ich ich lang und breit: "wer es erzeugt - gibt es auch frei", hab es aber auch dann nicht mehr gesehen.
  Mit Zitat antworten Zitat
Rollo62

 
Delphi 12 Athens
 
#5
  Alt 26. Aug 2020, 09:16
Sehr gut mal alle Varianten nebeneinander zu sehen.
Vielleihct gibt es ja mal einen Teil-2, wo dann auch Records, Interfaces und sonstwas zurückgegeben werden.

Ich denke das solche Zusammenfassungen was geht, mit kleinem Pro/Contra, für Neueinsteiger immer viel sinnvoller ist als 20 Seiten detaillierte Doku.

Ich denke Beispielcode mit kurzen, prägnanten Erklärungen ist 1000x besser als jede Text-Dokumentation.
Insbesondere auch mit alternativen Formen.
Einfach weil die normale Sprache das gar nicht sauber abbilden kann was der Code macht,
das kann er nur selbst erklären
  Mit Zitat antworten Zitat
generic

 
Delphi XE5 Professional
 
#6
  Alt 7. Sep 2020, 09:25
Gibt jetzt ein Teil 2:
https://www.youtube.com/watch?v=b-soDTcIE1M
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:36 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