Seite 1 von 1

globale receive-Liste

Verfasst: 22. Juni 2013, 11:50
von herw
Arbeitet man mit send-receive-Verbindungen, und steuert man die Auswahl eines receive-Moduls durch IC-send-Module, dann gibt es beim Kopieren von Makros mit receive- und send-Modulen und beim Einfügen neuer receive-Module das Problem, dass ...

1. ... der Compiler endlos lange rödelt (bei hunderten von send-receive-Verbindungen)
2. ... die receive-Liste im eingefügten Makro nicht mit den receive-Listen aller anderen Makros übereinstimmt.

Es gibt aber einen kleinen Trick.
Bevor man irgendetwas macht, erzeugt man ein receive-Modul in einem Makro (ich habe mir Makros mit ein bis 16 receives gebaut). Dies erzeugt eine globale receive-liste im dem Sinn, dass alle zukünftigen eingesetzten send-Module außerhalb dieses Makros automatisch unten angehängt werden.
Möchte man nun irgendwo ein receive-Modul einsetzen, nachdem man dort alle sends eingesetzt hat, so kopiert man dieses globale receive-Modul. Dann stimmen alle receive-Listen überein.
Kopiert man ein Makro, das schon eine receive-Liste und send-Module enthält, so muss man die entsprechenden receive-Module löschen und wieder durch das globale ersetzen.

Das ist zwar umständlich, aber im Moment der einzige Ausweg aus dem Dilemma des falschen Kopierens und endlosen Compilierens. Wenn man seine Makrostrukturen so gestaltet, dass die receive-Module leicht erreichbar sind, dann ist dieser Workaround akzeptabel.

ciao herw