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]
sorry den fehler koennen wir leider nachvollziehen.
der fehler wird natürlich in der 3.01 (kommt übermorgen) behoben sein
dasselbe problem betrifft auch die buffer_init funktion, wird auch in 301 behoben sein
danke für deine hilfe
Prima!
Vielen Dank für die schnelle Reaktion!
Arno