Attribut: call_after_global_init_slot
Wichtig
VAR_INPUT-Deklarationen in Funktionen oder Methoden, die das Attribut verwenden, führen zu Übersetzungsfehlern. Grund: Eingabevariablen sind in diesem Fall zum Zeitpunkt des Aufrufs, der implizit während des Online-Change erfolgt, nicht bekannt.
Wichtig
Funktionen, die mit diesem Attribut gekennzeichnet sind, werden nur ausgeführt, wenn sie kompiliert und auf die Steuerung heruntergeladen wurden.
Wenn Ihre Funktion an keiner anderen Stelle in Ihrem Projekt aufgerufen wird, kann der Compiler die Funktion aus dem Build ausschließen. Um sicherzustellen, dass die Funktion immer kompiliert und zur Ausführung verfügbar ist, fügen Sie der Funktionsdeklaration das Pragma {attribute 'linkalways'} hinzu.
Alternativ dazu, können Sie im Eigenschaftendialog der Funktion in der Registerkarte Build die Option Immer binden aktivieren.
Ohne diese Option wird Ihre Initialisierungsfunktion möglicherweise nicht ausgeführt, obwohl sie ordnungsgemäß konfiguriert zu sein scheint.
Das Pragma bewirkt, dass alle Funktionen und Programme, die damit ausgezeichnet sind, nach der globalen Initialisierung aufgerufen werden. Die Aufrufreihenfolge legen Sie durch den Attributwert fest.
Wenn in einer Methode das Attribut gesetzt ist, werden alle Instanzen des übergeordneten Funktionsbausteins ermittelt. Alle Instanzen werden im angegebenen Slot aufgerufen. In diesem Fall haben Sie auf die Reihenfolge der Instanzen untereinander keinen Einfluss.
Syntax:
{attribute 'call_after_global_init_slot' := '<slot>'}
Einfügeort | Erste Zeile über dem Deklarationsteil von Funktionen und Programmen |
| Ganzzahliger Wert, der den Stellenwert in der Reihenfolge der Aufrufe definiert Je niedriger der Wert ist, desto früher erfolgt der Aufruf. Wenn mehrere Bausteine denselben Stellenwert für das Attribut haben, so bleibt die Reihenfolge ihrer Aufrufe unbestimmt. |
Für weitere Informationen siehe: Global Init Slots