Wie wird ein Alias ​​einer Funktion / Prozedur erstellt?

7

Gibt es in Delphi eine Möglichkeit, eine Prozedur als Alias ​​eines anderen zu deklarieren? Etwas wie:

%Vor%

und später im Programm Aufruf AnAliastoUpperCase oder UpperCase muss genau das gleiche sein.

    
loki 21.01.2018, 20:15
quelle

2 Antworten

24

Definiere es z.B. wie eine ständige Erklärung:

%Vor%

könnte für Ihre Bedürfnisse funktionieren.

    
Victoria 21.01.2018, 20:47
quelle
4

Die richtige Antwort auf die Frage "Wie man einen Alias ​​zu einer Funktion / Prozedur macht" lautet "Sie können nicht".

Aber es gibt zwei Workarounds, um dies zu simulieren, die beide etwas Overhead einbringen können - der erste ist der const wie in der anderen Antwort gezeigt.

Zusätzlich zur Deklaration als const können Sie es auch als neue Inline-Routine deklarieren:

%Vor%

Aber dann sind Sie abhängig von den Compiler-Einstellungen für Inlining und müssen auch die AnsiStrings Unit hinzufügen, wo immer Sie AliasToUpperCase aufrufen, oder Sie erhalten die H2443 Inline function has not been expanded because unit is not specified in USES list Warnung.

Für diese Funktionssignatur funktioniert es, aber für andere Rückgabetypen könnten Sie unter einer fehlenden Rückgabewertoptimierung leiden und zusätzliche Wertkopien haben.

    
Stefan Glienke 22.01.2018 08:40
quelle

Tags und Links