saf - 2012-10-31

Hallo,

ich portiere momentan eine Bibliothek von CoDeSys V2 zu CoDeSys V3 und bin hier auf folgendes Problem gestoßen.

Die Bibliothek soll bei einem bestimmten Ereignis Projekt spezifischen Code ausführen, also eine Funktion die je nach Projekt angepasst wird.
Z.b. in der Bibliothek wird die Funktion F_ProjectSpecificCode an einer bestimmten Stelle (innerhalb der Bibliothek) aufgerufen, welche dann für jedes Projekt implementiert und angepasst wird. Unter CoDeSys V2 hat dies einwandfrei funktioniert. Unter CoDeSys V3 erhalte ich folgenden Fehler.

[FEHLER]        xxxLibrary: FB_XXX(Zeile 134, Spalte 1 (Impl)): Bezeichner 'F_ProjectSpecificCode ' nicht definiert
[FEHLER]        xxxLibrary: FB_XXX(Zeile 134, Spalte 1 (Impl)): Programmname oder Funktionsblockinstanz an Stelle von 'F_ProjectSpecificCode ' erwartet

Wenn ich bei den Eigenschaften der Funktion 'F_ProjectSpecificCode' unter Übersetzten mit den "Systemaufruf ermöglichen", "Immer einbinden" rumspiele und immer wieder neu übersetzte, dann "findet" der Kompiler irgendwann die Funktion. Ich vermute mal, dass der Kompiler zuerst die Bibliotheken kompiliert und zu dem Zeitpunkt 'F_ProjectSpecificCode' nicht findet.

Vielen Dank schonmal!

Sascha