<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Pointer auswerten</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/677b48c279/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/677b48c279/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/677b48c279/</id><updated>2020-02-28T14:15:53.970000Z</updated><subtitle>Recent posts to Pointer auswerten</subtitle><entry><title>Pointer auswerten</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/677b48c279/?limit=25#b473" rel="alternate"/><published>2020-02-28T14:15:53.970000Z</published><updated>2020-02-28T14:15:53.970000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com4bcacea5c979d3d8ff3de6fef51bc2fd246e1590</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Moin&lt;/p&gt;
&lt;p&gt;Ein Pointer ist lediglich ein Zeiger auf eine Speicheradresse.&lt;/p&gt;
&lt;p&gt;Da gibts keine weiteren Informationen.&lt;/p&gt;
&lt;p&gt;Weder über die Länge noch den Typ.&lt;/p&gt;
&lt;p&gt;Das musst du schon selbst wissen, und der Funktion eben mit übergeben.&lt;/p&gt;
&lt;p&gt;Gruss&lt;/p&gt;
&lt;p&gt;Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Pointer auswerten</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/677b48c279/?limit=25#3c5a" rel="alternate"/><published>2020-02-28T14:15:46.493000Z</published><updated>2020-02-28T14:15:46.493000Z</updated><author><name>Beckx-net</name><uri>https://forge.codesys.com/u/beckx-net/</uri></author><id>https://forge.codesys.com806d1215a3c3042d55975a41148cd31996ce474f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;ich bin CoDeSys Anfänger und habe eine Frage zu den Pointern.&lt;/p&gt;
&lt;p&gt;Ich möchte einen Array Speicherbereich mittels Pointer an einen Funktionsblock übergeben. In dem Funktionsblock möchte ich nun anhand des Pointers wissen, wie groß mein Speicherbereich ist (Länge des Arrays).&lt;/p&gt;
&lt;p&gt;Ich habe es folgendermaßen gemacht&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;Programmbaustein&lt;/span&gt;
&lt;span class="nt"&gt;VAR&lt;/span&gt; 
&lt;span class="nt"&gt;Record&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;Array&lt;/span&gt; &lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="nx"&gt;..20&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="nt"&gt;of&lt;/span&gt; &lt;span class="nt"&gt;Byte&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;END_VAR&lt;/span&gt;
&lt;span class="nt"&gt;Aufruf&lt;/span&gt; &lt;span class="nt"&gt;FB&lt;/span&gt;
&lt;span class="nt"&gt;InstanzFB&lt;/span&gt;&lt;span class="o"&gt;(....&lt;/span&gt;
&lt;span class="nt"&gt;PointerToData&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;ADR&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;Record&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;.....);&lt;/span&gt;
&lt;span class="o"&gt;;&lt;/span&gt;&lt;span class="nt"&gt;-------------------------------------&lt;/span&gt;
&lt;span class="nt"&gt;Funktionsbaustein&lt;/span&gt;
&lt;span class="nt"&gt;VAR_IN&lt;/span&gt;
&lt;span class="nt"&gt;RecordFB&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;Pointer&lt;/span&gt; &lt;span class="nt"&gt;to&lt;/span&gt; &lt;span class="nt"&gt;Array&lt;/span&gt; &lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="nx"&gt;..20&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt; &lt;span class="nt"&gt;of&lt;/span&gt; &lt;span class="nt"&gt;Byte&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;END_VAR&lt;/span&gt;
&lt;span class="o"&gt;(*&lt;/span&gt;&lt;span class="nt"&gt;Zugriff&lt;/span&gt; &lt;span class="nt"&gt;auf&lt;/span&gt; &lt;span class="nt"&gt;Arraydaten&lt;/span&gt;&lt;span class="o"&gt;*)&lt;/span&gt;
&lt;span class="nt"&gt;RecordFB&lt;/span&gt;&lt;span class="o"&gt;^&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;5&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;TempXY&lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="nt"&gt;Record&lt;/span&gt;&lt;span class="o"&gt;^&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Nun suche ich nach einer Möglichkeit, anhand des übergebenen Pointers festzustellen, wie groß mein Array (Record) ist! Kann mir da einer weitehelfen?&lt;/p&gt;
&lt;p&gt;Gibt es vielleicht auch eine Mögichkeit weitere Daten aus dem Pointer zu bekommen, z.B. Ob das Array of BOOL oder OF BYTE ist? (Ähnlich wie ein ANY-Pointer in Step7)&lt;/p&gt;
&lt;p&gt;Gruß Beckx-net&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>