Skip to main content

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

Beispiel 35. Beispiel
TYPE LargeStructure :
STRUCT
    a : LINT;
    b : BOOL;
END_STRUCT
END_TYPE
FUNCTION Large_Return_Value_FUNC : LargeStructure   // SA0023

Ausgabe unter Ansicht Meldungen:

  • sa_icon_message.png SA0023: Komplexe Rückgabewerte