Attribut 'c++_compatible'
Das Pragma bewirkt, dass die VTable, die der SPS-Compiler erzeugt, binär kompatibel zu der eines C++-Compilers erzeugt wird. Damit ist es möglich, auch aus einem in C++ implementierten TcCom-Module auf die in der SPS implementieren Methoden einer Schnittstelle zuzugreifen.
Syntax: {attribute 'c++_compatible'}
Einfügeort:
Das Pragma muss an folgenden Stellen eingefügt werden:
- Zeile oberhalb der Deklaration der Schnittstelle
- Zeile oberhalb der Deklaration der einzelnen Methoden der Schnittstelle
- Zeile oberhalb der Deklaration des Funktionsbausteins, der die Schnittstelle implementiert
- Zeile oberhalb der Deklaration der Methoden, die aus der Schnittstelle implementiert werden
Beispiel:
Deklaration eines Funktionsbausteins, der eine C++-kompatible Schnittstelle implementiert:
{attribute 'c++_compatible'}
FUNCTION_BLOCK FB_Sample IMPLEMENTS I_Sample
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
END_VAR
Deklaration einer Methode, die in der Schnittstelle definiert ist:
{attribute 'c++_compatible'}
{attribute 'minimal_input_size' := '4'}
{attribute 'pack_mode' := '4'}
METHOD Method1 : HRESULT
VAR_INPUT
nParameter1 : INT;
END_VAR
Siehe auch: