OSCAT Forum

oscat.lib => Bestehende Module / Existing Modules => Thema gestartet von: Jicin in 29. September 2008, 15:46:05

Titel: Benutzung von Pointern
Beitrag von: Jicin in 29. September 2008, 15:46:05
Hallo,
ich bin neu bei der Programmierung von CoDeSys und war wirklich erschrocken wie wenige Funktionen es da standardmäßig gibt.
Deshalb erstmal VIEEEELEN Dank für die tolle Bibliothek. Die erleichtert die Arbeit wirklich ungemein.
Jetzt zu meinem Problem:
Ich möchte die Funktion _CLEAR_BUFFER benutzen und bekomme schon einen Pointer zu einem Array übergeben, leider aber keine Größe.
Ich habe nun versucht die Funktion mit _CLEAR_BUFFER(pt, SIZEOF(pt^)) aufzurufen. Aber leider funktioniert das nicht richtig. Der Aufruf macht manchmal dann noch einen Teil der dahinterliegenden Variablen platt.    :-\
So wie es aussieht liegt das Problem also bei der Größenangabe die ich mache, weiß aber leider nicht wieÃ,´s richtig geht  :'(

Weiß jemand wie ich das besser/ korrekt hinbekomme?
Titel: Re: Benutzung von Pointern
Beitrag von: peewit in 29. September 2008, 15:55:38
Hallo

Problem mit  _CLEAR_BUFFER

Du meinst wohl die Function _BUFFER_CLEAR von OSCAT oder ?


Beispiel: _BUFFER_CLEAR(ADR(bigarray), SIZEOF(bigarray))
Titel: Re: Benutzung von Pointern
Beitrag von: Jicin in 29. September 2008, 16:01:01
Sorry, ja, genau die meine ich.. also wenn ich lokal oder global ein Array habe ist das auch kein Problem, nur wenn ich eben einen Pointer übergeben bekomme, dann weiß ich nicht wie ich die Größe von dem ursprünglichen Array herausbekommen soll.