![]() |
Optionale Parameter Funktion/Procedure
Hallo zusammen,
gibt es eine Möglichkeit die ein und dieselbe Procedure/Funktion aufzurufen mit einer unterschiedlichen Parameteranzahl? Bspw.:
Code:
ich hatte es mir Overload versucht, aber die richtige Syntax einfach nicht gefunden.
Interface
procedure Foo(a, b, c, d: Integer); Implementation Foo(a, b, c, d: Integer); Aufruf: foo(1,2,3,4) foo(1,2) // c,d, sollten dann in dem Fall Null oder ein Standartwert haben. |
AW: Optionale Parameter Funktion/Procedure
|
AW: Optionale Parameter Funktion/Procedure
Hallo,
normalerweise sollte es mit overload funktionieren:
Delphi-Quellcode:
Was auch geht wäre:
implementation
procedure Foo(a, b:Integer); overload; procedure Foo(a, b, c, d:Integer); overload; interface procedure Foo(a, b:Integer); begin Foo(a, b, 0, 0); end; procedure Foo(a, b, c, d:Integer); begin ... end;
Delphi-Quellcode:
procedure Foo(a, b:Integer, c:Integer=0, d:Integer=0);
|
AW: Optionale Parameter Funktion/Procedure
Es gibt zwei Möglichkeiten dazu, die auch kombiniert werden können:
* ![]() * Overloaded ![]() ![]() Wichtig dabei ist, dass der Compiler sicher entscheiden kann, welche der verschiedenen Funktionen er aufrufen soll. Das geht nur anhand der Parameter-Signatur, nicht anhand des Rückgabewertes. |
AW: Optionale Parameter Funktion/Procedure
Danke, hab Standardparameter verwendet. Vielen dank. :-D
|
AW: Optionale Parameter Funktion/Procedure
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 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