<?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[SAFEARRAY * aus structur]]></title><description><![CDATA[<p>Heiho,</p>
<p>Wir haben hier zZt ein Problem an den wir bereits meherer Stunden zu dritt grübeln.</p>
<p>Und zwar haben wir eine struktur die so ähnlich aufgebaut ist:</p>
<pre><code class="language-cpp">struct sStr
{
    DateTime dt;
    BSTR str;
    int ID;
};
</code></pre>
<p>Diese struktur müssen wir in einem SAFEARRAY * bekommen, und da liegt unser Problem.</p>
<p>Wir haben schon einige funktionen probiert, z.B.:<br />
CComSafeArray&lt;sStr&gt; arr(1); // wirft &quot;Out of Memory&quot;<br />
oder auch<br />
CComSafeArray&lt;sStr&gt; arr;<br />
HRESULT res = arr.add(sstr); // sstr ist eine augefüllte struktur, HRESULT ist E_OUTOFMEMORY</p>
<p>auch mit<br />
Create() funktioniert es nicht.<br />
und mit SafeArrayCreate und diverse andere haben wir keine brauchbaren Ergebnisse erhalten.<br />
Ich vermute das wir es irgendwie mit eigen VAL (weiss grad nicht wie die heißen) erstellen müssen.</p>
<p>Mein Kolege und ich, haben beide noch nie mit diesen SAFEARRAY gearbeitet.<br />
Mein Chef hatte damit zwar schonmal zu tun, aber nie in verbindung mit einer struktur, er kommt auch nicht weiter.</p>
<p>Ich hoffe ihr könnt mir helfen. Vielen Dank</p>
<p>Gruß<br />
Da Evil</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/191240/safearray-aus-structur</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 07:55:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/191240.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 31 Aug 2007 15:22:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to SAFEARRAY * aus structur on Fri, 31 Aug 2007 15:22:13 GMT]]></title><description><![CDATA[<p>Heiho,</p>
<p>Wir haben hier zZt ein Problem an den wir bereits meherer Stunden zu dritt grübeln.</p>
<p>Und zwar haben wir eine struktur die so ähnlich aufgebaut ist:</p>
<pre><code class="language-cpp">struct sStr
{
    DateTime dt;
    BSTR str;
    int ID;
};
</code></pre>
<p>Diese struktur müssen wir in einem SAFEARRAY * bekommen, und da liegt unser Problem.</p>
<p>Wir haben schon einige funktionen probiert, z.B.:<br />
CComSafeArray&lt;sStr&gt; arr(1); // wirft &quot;Out of Memory&quot;<br />
oder auch<br />
CComSafeArray&lt;sStr&gt; arr;<br />
HRESULT res = arr.add(sstr); // sstr ist eine augefüllte struktur, HRESULT ist E_OUTOFMEMORY</p>
<p>auch mit<br />
Create() funktioniert es nicht.<br />
und mit SafeArrayCreate und diverse andere haben wir keine brauchbaren Ergebnisse erhalten.<br />
Ich vermute das wir es irgendwie mit eigen VAL (weiss grad nicht wie die heißen) erstellen müssen.</p>
<p>Mein Kolege und ich, haben beide noch nie mit diesen SAFEARRAY gearbeitet.<br />
Mein Chef hatte damit zwar schonmal zu tun, aber nie in verbindung mit einer struktur, er kommt auch nicht weiter.</p>
<p>Ich hoffe ihr könnt mir helfen. Vielen Dank</p>
<p>Gruß<br />
Da Evil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356199</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 31 Aug 2007 15:22:13 GMT</pubDate></item><item><title><![CDATA[Reply to SAFEARRAY * aus structur on Mon, 03 Sep 2007 09:30:02 GMT]]></title><description><![CDATA[<p>Habe den Fehler jetzt auch noch nie gehabt, aber ich denke es liegt daran, daß der Typ der Struktur ein COM-Typ sein sollte ( VT_ - Konstanten. ). In der Headerdatei atlsafe.h sind im Template CComSafeArray nur die Typen für COM definiert. ( Ich glaube das meinst du auch mit den &quot;eigenen VAL&quot; - Typen ) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Vorschlag:<br />
Implementiere doch ein IUnknown - Interface in deiner Struktur, dann sollte es gehen. Bei mir tut es das dann auch. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Grüße<br />
tvdog</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1357691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1357691</guid><dc:creator><![CDATA[tvdog]]></dc:creator><pubDate>Mon, 03 Sep 2007 09:30:02 GMT</pubDate></item><item><title><![CDATA[Reply to SAFEARRAY * aus structur on Mon, 03 Sep 2007 11:48:29 GMT]]></title><description><![CDATA[<p>in der struktur selber kann ich nichts aendern, diese ist vorgegeben<br />
haben es aber mitlerweile geloest:</p>
<pre><code class="language-cpp">CComSafeArray&lt;sStr&gt; pTranslationContainer(_ArrCreator&lt;sStr&gt;::CreateArrayFor(sizeof(sstr)));
pTranslationContainer.SetAt(0, sstr);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1357804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1357804</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Mon, 03 Sep 2007 11:48:29 GMT</pubDate></item><item><title><![CDATA[Reply to SAFEARRAY * aus structur on Mon, 03 Sep 2007 12:01:37 GMT]]></title><description><![CDATA[<p>Nur rein Interessehalber ( und ganz uneigennützig <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> ):</p>
<p>Wie erzeugt die Methode des Templates _ArrCreator&lt;sStr&gt;::CreateArrayFor() ... das SAFEARRAY ? Vielleicht würde das etwas an meinem Code vereinfachen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    />.</p>
<p>Danke.</p>
<p>Gruß<br />
tvdog</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1357817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1357817</guid><dc:creator><![CDATA[tvdog]]></dc:creator><pubDate>Mon, 03 Sep 2007 12:01:37 GMT</pubDate></item><item><title><![CDATA[Reply to SAFEARRAY * aus structur on Mon, 03 Sep 2007 12:34:47 GMT]]></title><description><![CDATA[<p>Das problem ist nicht die zuweisung sondern woanders</p>
<p>die CComSafeArray klasse braucht eine information wie gross die struktur sein wird.</p>
<p>mit _ArrCreator&lt;sStr&gt;::CreateArrayFor(sizeof(sstr)) reserviert die CComSafeArray klasse genug speicher fuer die struktur welche man dann mit &quot;SetAt&quot; zuweisen kann.</p>
<p>spaeter wenn man den pointer zu einer SAFEARRAY braucht kann man sich diesen von der klasse holen</p>
<p>bla.GetSafeArrayPtr();</p>
<p>wie du evtl weisst ist CComSafeArray ja eine klasse welche das erstellen und verwalten eines SAFEARRAY vereinfacht/verwalted</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1357855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1357855</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Mon, 03 Sep 2007 12:34:47 GMT</pubDate></item></channel></rss>