Probleme mit _BUFFER_CLEAR

Begonnen von hansworscht, 31. Oktober 2008, 13:35:59

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

hansworscht

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]

hugo

#1
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

hansworscht

Prima!

Vielen Dank für die schnelle Reaktion!

Arno