SA0023: Komplexe Rückgabewerte
Ermittelt komplexe Rückgabewerte, die mit einer einfachen Registerkopie des Prozessors nicht zurückgegeben werden können. Dazu gehören Strukturen, Arrays und Rückgabewerte vom Typ STRING
(unabhängig von der Größe des belegten Speicherplatzes).
Begründung: Dies ist eine Performance-Warnung. Wenn große Werte als Ergebnis einer Funktion, Methode oder einer Eigenschaft zurückgeliefert werden, dann werden diese vom Prozessor bei der Ausführung des Codes mehrfach kopiert. Das kann zu Laufzeitproblemen führen und sollte wenn möglich vermieden werden. Bessere Performance erreicht man, wenn ein strukturierter Wert als VAR_IN_OUT
an eine Funktion oder Methode übergeben wird und in der Funktion oder Methode gefüllt wird.
Wichtigkeit: Mittel
TYPE LargeStructure : STRUCT a : LINT; b : BOOL; END_STRUCT END_TYPE
FUNCTION Large_Return_Value_FUNC : LargeStructure // SA0023
Ausgabe unter Ansicht Meldungen:
SA0023: Komplexe Rückgabewerte