AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Function Result ist Klasse Wie freigeben?
Thema durchsuchen
Ansicht
Themen-Optionen

Function Result ist Klasse Wie freigeben?

Ein Thema von Alexander Roth · begonnen am 14. Aug 2006 · letzter Beitrag vom 14. Aug 2006
 
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

Re: Function Result ist Klasse Wie freigeben?

  Alt 14. Aug 2006, 11:26
Zitat von xaromz:
Das stimmt nicht ganz. Wenn in einer Funktion nichts gemacht wird, dann zeigt Result tatsächlich auf das erste Argument (in diesem Fall Old), da sowohl das erste Argument als auch Result in EAX liegen.
Und was wenn ich stdcall oder cdecl angebe? Result ist als Undefined anzunehmen. Alles andere wäre Ausnutzung von mehr oder weniger zufälligen Zuständen, die sich jederzeit ändern können.

Zitat:
Bei der anderen Variante muss ich das zwar auch, aber es ist nicht offensichtlich. Außerdem kann ich mir bei einer Blackbox (was eine Funktion möglichst sein sollte) eben nicht sicher sein, ob ich nicht nur eine Referenz auf ein internes Objekt erhalte. Das darf ich dann nämlich nicht freigeben.
Die Offensichtlichkeit bekommt man in diesem Fall nur, wenn man passende Namen für die Funktion vergibt.

Persönlich nutze ich dabei folgende Namensgebung:
Eine Funktion die "function CreateNamenList: TStrings" heißte erzeugt die Liste und der Aufrufer muss für deren Freigabe sorgen. Heißt sie hingegen "function GetNamenList: TStrings" ist klar, dass der Aufrufer sich um das Freigeben keine Sorgen machen muss.
  Mit Zitat antworten Zitat
 


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 14:42 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