<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[property mit array]]></title><description><![CDATA[<p>Hallo,</p>
<p>hat jemand schon mal versucht, propertys basierend auf einem Array zu erzeugen</p>
<p>etwa so</p>
<p>property int test[25]={read=ftest[25], write=SetTest[25]};</p>
<p>Oder gibts Alternativen?</p>
<p>Habe bisher alle einzeln deklariert.</p>
<p>Grund: Ich würde die Eigenschaften gerne dynamsich, basierend auf einer Konstanten (define) erzeugen. Natürlich sollen dann auch alle Eigenschaften im OI angezeigt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/174013/property-mit-array</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 15:46:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/174013.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Feb 2007 08:46:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to property mit array on Thu, 22 Feb 2007 08:46:42 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>hat jemand schon mal versucht, propertys basierend auf einem Array zu erzeugen</p>
<p>etwa so</p>
<p>property int test[25]={read=ftest[25], write=SetTest[25]};</p>
<p>Oder gibts Alternativen?</p>
<p>Habe bisher alle einzeln deklariert.</p>
<p>Grund: Ich würde die Eigenschaften gerne dynamsich, basierend auf einer Konstanten (define) erzeugen. Natürlich sollen dann auch alle Eigenschaften im OI angezeigt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233002</guid><dc:creator><![CDATA[Michael1985]]></dc:creator><pubDate>Thu, 22 Feb 2007 08:46:42 GMT</pubDate></item><item><title><![CDATA[Reply to property mit array on Thu, 22 Feb 2007 09:11:03 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Properties mit Arrays erfordern entsprechende Zugriffsfunktionen. Das was du da gemacht hast ist falsch. Es könnte etwa so aussehen.</p>
<pre><code class="language-cpp">private:
int FTest[25];
__published:
__property int Test[size_t index]  = { read=GetTest, write=SetTest };
private:
// Die Zugriffsfunktionen
void __fastcall SetTest(size_t index, int value)
{
   if( index &lt; 25 ) FTest[index] = value;
   else //Fehlerbehandlung
}
int __fastcall GetTest(size_t index)
{
   if( index &lt; 25 ) return FTest[index];
   else //Fehlerbehandlung
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1233020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233020</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 22 Feb 2007 09:11:03 GMT</pubDate></item><item><title><![CDATA[Reply to property mit array on Thu, 22 Feb 2007 09:29:04 GMT]]></title><description><![CDATA[<p>Soweit vielen dank. Lässt sich compilieren, allerdings zeigt es in meinem Objektinspektor (von Dream Company, Laufzeit OI) nur eine Eigenschaft Test an, die ich nicht beschreiben kann oder von der falschen lese. An dieser Stelle würde ich gerne alle (25) Eigenschaften anzeigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233041</guid><dc:creator><![CDATA[Michael1985]]></dc:creator><pubDate>Thu, 22 Feb 2007 09:29:04 GMT</pubDate></item><item><title><![CDATA[Reply to property mit array on Thu, 22 Feb 2007 09:38:48 GMT]]></title><description><![CDATA[<p>Soweit ich weiß, wirst Du dann für jede der 25 Eigenschaften eine extra Property schreiben müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233056</guid><dc:creator><![CDATA[Christian Sonder]]></dc:creator><pubDate>Thu, 22 Feb 2007 09:38:48 GMT</pubDate></item><item><title><![CDATA[Reply to property mit array on Thu, 22 Feb 2007 09:47:05 GMT]]></title><description><![CDATA[<p>Am Besten ist, du sagst uns was du willst. Du hast hier von 25 Eigenschaften geschrieben. Meinst du damit, dass du diese Eigenschaften (z.Bsp. in einem enum) hast und die bei Bedarf setzen willst? Wenn das der Fall ist, ist ein Array der falsche Weg. Hier brauchst du ein Set.<br />
Hier mal ein Beispiel aus einer meiner Komponenten</p>
<pre><code class="language-cpp">// Typdefinitionen
  enum HFGridOption { hfgoMultiSelect, hfgoBorderSelect, hfgoChangedColoring, hfgoInsertedColoring };
  typedef Set&lt;HFGridOption, hfgoMultiSelect, hfgoInsertedColoring&gt; HFGridOptions;
//private Variable
  HFGridOptions FExtOptions;
// Zugriffsfunktion
  void __fastcall SetExtOptions(HFGridOptions value);
{
        if( value != FExtOptions)
        {
            FExtOptions = value;
        }
}
//---------------------------------------------------------------------------
//Property  
  __property HFGridOptions ExtOptions  = { read=FExtOptions, write=SetExtOptions, default=1 };
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1233066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233066</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 22 Feb 2007 09:47:05 GMT</pubDate></item><item><title><![CDATA[Reply to property mit array on Thu, 22 Feb 2007 10:01:33 GMT]]></title><description><![CDATA[<p>Das erste Beispiel kommt meiner Anwendung doch am nächsten(so vermute ich, weil ich das zweite nicht besonders verstehe).</p>
<p>Ich habe u.a. Charts für die MerkmalX1, MerkmalY1 (derzeit bis 18) als Eigenschaften deklariert werden müssen. Schließlich und endlich werden diese Werte von mir in eine Ini-Datei geschrieben, weshalb die genaue Verwendung der Eigenschaften egal ist. Ich muss diese 2*18 Eigenschaften visualisieren um sie dann bearbeiten zu können(nur int-Zahl reinschreiben). Wenn dann der Kollege sagt er braucht MerkmalX256 dann wäre das als Array ganz geschickt.<br />
Der andere Fall sind Buttons, aber die Sache verhält sich analog.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233079</guid><dc:creator><![CDATA[Michael1985]]></dc:creator><pubDate>Thu, 22 Feb 2007 10:01:33 GMT</pubDate></item><item><title><![CDATA[Reply to property mit array on Thu, 22 Feb 2007 10:09:48 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Der OI kann nur ihm bekannte Eigenschaftstypen Manipulatoren/Editoren anbieten. Zum Beispiel AnsiString oder Zeiger auf VCL-Komponenten.<br />
Dein Bool-Array hingegen ist dem OI nicht bekannt, deshalb zeigt er nichts sinnvolles an. Entweder begnügst du dich mit einer nichtvisuellen Eigenschaft (also Änderungen ausschließlich über Quellcode) oder du must einen separaten Editor für den Eigenschaftstyp Bool-Array schreiben. Zu letztem siehe TPropertyAttribute/TPropertyEditor. Ich bezweilfe aber das sich dieser Aufwand für einen Einzelfall lohnt.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233086</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 22 Feb 2007 10:09:48 GMT</pubDate></item></channel></rss>