mg0815 - 2023-01-16

Hallo

Ich verwende zum 1. Mal die PRAGMA's und stehe noch komplett auf dem Schlauch.

Ich hoffe ich verwende hier die korrekten Begriffe.
Ich programmiere grad ein e!cockpit. (sollte hier aber kein Problem darstellen)
Dabei will ich eine Software schreiben, die für mehrere verschiedene Controller indentisch ist.
Es sollen (wenn vorhanden) nur die zusätzlichen Möglichkeiten des anderen Controllers erkannt und genutzt werden.

Es geht mir in meinem Fall um
einen 750-8101 (ohne serielle Schnittstelle) bzw
einen 750-8102 (mit serieller Schnittstelle).

Die Software sollte identisch sein. Nun braucht der Controller zum Aufrufen der ONBOARD seriellen Schnittstelle die Variable "IoConfig_Globals.COM1". Der Zusatz "COM1" ist nur auf dem 8102 vorhanden. Jetzt will ich mit einem PRAGMA eine Ausnahme hinzufügen, damit der Compiler das schluckt.

{IF defined(IoConfig_Globals.COM1)} 
IPort:=IoConfig_Globals.COM1;   
{END_IF}

Das geht aber so nicht, weil das "defined" nur auf die Variable (IoConfig_Globals) wirkt. (führt zu einem Error nach dem "."). Die Struktur ist dem "defined" offensichtlich egal.

Wie mache ich das korrekt oder ist mein Ansatz KOMPLETT daneben und wird so was ganz anders gelöst.

Tausend Dank

Mario

 

Last edit: mg0815 2023-01-16