![]() |
Wieso funktioniert das hier mit OUT?
Nach meinem Verständnis übergeben mit out deklarierten Variablen keine Werte, bzw. werden diese vorher gelöscht. Wieso funktioniert das hier?
Delphi-Quellcode:
//Edit:
type
Txy = (x, y); procedure Test(out xy: Txy); begin if xy = x then ShowMessage('x') else ShowMessage('y'); end; procedure TForm1.Button1Click(Sender: TObject); var xy: Txy; begin xy := y; // mal x, mal y Test(xy); end; Weil es keine Variable ist und nur die Adresse übergeben wird? |
AW: Wieso funktioniert das hier mit OUT?
out löscht nichts sondern ist einfach zu Verdeutlichung das über den Parameter ausschließlich Werte zurück gegeben werden.
|
AW: Wieso funktioniert das hier mit OUT?
versuch mal das ...
Delphi-Quellcode:
procedure Test(out xy: String); begin ShowMessage(xy); end; procedure Test2(var xy: String); begin ShowMessage(xy); end; procedure TForm4.Button1Click(Sender: TObject); const C_S= 'Schau mal da'; var s:String; begin s := C_S ; Test(s); Test2(s); s := C_S; Test(s); s := C_S; Test2(s); s := C_S; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 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