markus5766h Geschrieben January 16, 2016 at 17:42 Share Geschrieben January 16, 2016 at 17:42 Moin, in der API -Dokumentation fand ich folgendes : API Da Delphi nicht mehrere Rückgabewerte direkt unterstützt, wird das out Schlüsselwort genutzt um mehrere Werte von einer Funktion zurückzugeben. Das stimmt so nicht ganz : function GibWasZurück (StringA : String; var IntegerA : Integer) : String; Parameter, die mit var angegeben werden, werden nach Funktionsaufruf an den Aufrufer zurückgegeben. Somit können mehrere Parameter angegeben werden. alternativ : type TStringAndIntFloat = Record RetString : String; RetInteger : Integer; RetFloat : Real; end; function Test: TStringAndIntFloat; begin Result.RetString := 'Test'; Result.RetInteger := 123; Result.RetFloat := 12.4578; end; Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
tfRookie Geschrieben January 16, 2016 at 17:49 Share Geschrieben January 16, 2016 at 17:49 Ich bin mir nicht sicher, was genau du meinst - in Delphi (wie auch in Free Pascal) gibt es sowohl out als auch var, wobei in der Praxis wenig Unterschied besteht. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
markus5766h Geschrieben January 16, 2016 at 17:55 Autor Share Geschrieben January 16, 2016 at 17:55 @ tfRookie : ... war eigentlich nur als "Ergänzung" gedacht, denn die obige Aussage ist evt. für Neulinge in Delphi etwas irreführend / unglücklich gewählt. Nebenbei unterscheide ich nicht zwischen direkter und indirekter Unterstützung von Eigenschaften / Funktionen --> ist aber nur meine eigene Meinung. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Nic Geschrieben January 16, 2016 at 18:39 Share Geschrieben January 16, 2016 at 18:39 var gilt als Referenz, d.h. Methode kann mit dem Input arbeiten und das Ergebnis zurückliefern, bei out interessiert den Compiler ein Übergabewert nicht, sondern nur der Rückgabewert ist relevant. Das keine Records verwendet werden, hat u.a. mit der Code-Generation der Bindings zutun. Die Record-Typen sind nicht über alle Sprachen gleich bzw. vorhanden. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.