OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: hansworscht am 31. Oktober 2008, 13:35:59

Titel: Probleme mit _BUFFER_CLEAR
Beitrag von: hansworscht am 31. Oktober 2008, 13:35:59
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]
Titel: Re: Probleme mit _BUFFER_CLEAR
Beitrag von: hugo am 31. Oktober 2008, 14:10:44
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
Titel: Re: Probleme mit _BUFFER_CLEAR
Beitrag von: hansworscht am 31. Oktober 2008, 14:48:19
Prima!

Vielen Dank für die schnelle Reaktion!

Arno