Hallo,
habe das Problem, dass die Funktion _BUFFER_CLEAR mehr löscht, als sie soll. Im Beispiel habe ich ein Array [0..15] deklariert, das ich löschen will. Nach der Deklaration schließen sich vier flags vom Type bool an. Führe ich nun die _BUFFER_CLEAR Funktion aus, ist mein Array gelöscht, aber auch zwei der vier flags. Wieviel zusätzlich gelöscht wird, hängt davon ab, ob vor dem Array noch Variablen deklariert sind. Soweit ich die Funktion verstanden habe, rastet sie intern auf ein 32Bit Alingment ein und löscht dann 32Bit-weise. Bis der Pointer eingerastet ist, wird byte-weise gelöscht. Es sieht so aus, als ob soweit über das Array hinaus gelöscht wird, wie Schritte zum Einrasten nötig waren.
Kann das jemand nachvollziehen? Bug in Oscad.lib, Bug in Codesys?
Codesys 2.3.9.7, Oscad.lib 2.76/2.77, Codesys RTE 2.3.7.4
Arno
[gelöscht durch Administrator]