<?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[*.idl]]></title><description><![CDATA[<p>kann mir jemand helfen. ich habe eine atl-dll und ein einfaches atl-obejkt.ich möchte jetzt in einer idl-datei eine CString Variable deklarieren um sie dann in outlook nutzen zu können.<br />
ich habe alles probiert aber es geht nicht. bis jetzt hat es nur mit einer funktion geklappt.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/6362/idl</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 22:16:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/6362.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Jun 2003 06:17:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 06:17:00 GMT]]></title><description><![CDATA[<p>kann mir jemand helfen. ich habe eine atl-dll und ein einfaches atl-obejkt.ich möchte jetzt in einer idl-datei eine CString Variable deklarieren um sie dann in outlook nutzen zu können.<br />
ich habe alles probiert aber es geht nicht. bis jetzt hat es nur mit einer funktion geklappt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30819</guid><dc:creator><![CDATA[CAksakal]]></dc:creator><pubDate>Fri, 27 Jun 2003 06:17:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 06:30:00 GMT]]></title><description><![CDATA[<p>idl kennt kein CString, Du musst entweder BSTR oder VARIANT benutzen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30820</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 27 Jun 2003 06:30:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 06:41:00 GMT]]></title><description><![CDATA[<p>ich weis. ich habe auch schon mit LPTSTR, string und BSTR auch versucht.<br />
bei 'extern int i;' hat er nicht gemekert aber er gibt mir die Variable dann nicht her in Outlook.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30821</guid><dc:creator><![CDATA[CAksakal]]></dc:creator><pubDate>Fri, 27 Jun 2003 06:41:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 06:43:00 GMT]]></title><description><![CDATA[<p>LPTSTR, string funktionieren auch NICHT !!!</p>
<p>Zeig mal Deine idl und die dazugehörige ATL-Funktion!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30822</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 27 Jun 2003 06:43:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 06:49:00 GMT]]></title><description><![CDATA[<p>Die *.idldatei:</p>
<p>import &quot;oaidl.idl&quot;;<br />
import &quot;ocidl.idl&quot;;</p>
<p>[<br />
object,<br />
uuid(50157914-AE8F-4082-AD75-9858F83F307D),<br />
dual,<br />
helpstring(&quot;IDokuV-Schnittstelle&quot;),<br />
pointer_default(unique)<br />
]<br />
interface IDokuV : IDispatch<br />
{<br />
HRESULT ShowDokuDlg();<br />
};</p>
<p>[<br />
uuid(D888874D-010E-46E1-88AE-54B051C3DE8A),<br />
version(1.0),<br />
helpstring(&quot;DokuVerwaltung 1.0&quot;)<br />
]</p>
<p>library DOKUVERWALTUNGLib<br />
{<br />
importlib(&quot;stdole32.tlb&quot;);<br />
importlib(&quot;stdole2.tlb&quot;);</p>
<p>[<br />
uuid(8494871A-9F9E-428B-92EB-9A79FF81D9FE),<br />
helpstring(&quot;DokuV Class&quot;)<br />
]<br />
coclass DokuV<br />
{<br />
[default] interface IDokuV;<br />
};<br />
};<br />
cpp-Datei:<br />
// DokuV.cpp : Implementierung von CDokuV<br />
#include &quot;stdafx.h&quot;<br />
#include &quot;DokuVerwaltung.h&quot;<br />
#include &quot;DokuV.h&quot;</p>
<p>/////////////////////////////////////////////////////////////////////////////<br />
// CDokuV</p>
<p>STDMETHODIMP CDokuV::ShowDokuDlg()<br />
{<br />
AFX_MANAGE_STATE(AfxGetStaticModuleState());<br />
CDokuVerwaltung dlgD;<br />
dlgD.DoModal();<br />
return 0;<br />
}</p>
<p>h-datei:<br />
#ifndef __DOKUV_H_<br />
#define __DOKUV_H_</p>
<p>#include &quot;resource.h&quot; // Hauptsymbole<br />
#include &quot;DokuVerwaltung1.h&quot;</p>
<p>/////////////////////////////////////////////////////////////////////////////<br />
// CDokuV<br />
class ATL_NO_VTABLE CDokuV :<br />
public CComObjectRootEx&lt;CComSingleThreadModel&gt;,<br />
public CComCoClass&lt;CDokuV, &amp;CLSID_DokuV&gt;,<br />
public IDispatchImpl&lt;IDokuV, &amp;IID_IDokuV, &amp;LIBID_DOKUVERWALTUNGLib&gt;<br />
{<br />
public:</p>
<p>CDokuV()<br />
{</p>
<p>}</p>
<p>DECLARE_REGISTRY_RESOURCEID(IDR_DOKUV)</p>
<p>DECLARE_PROTECT_FINAL_CONSTRUCT()</p>
<p>BEGIN_COM_MAP(CDokuV)<br />
COM_INTERFACE_ENTRY(IDokuV)<br />
COM_INTERFACE_ENTRY(IDispatch)<br />
END_COM_MAP()</p>
<p>// IDokuV<br />
public:<br />
(ShowDokuDlg)();<br />
};</p>
<p>#endif //__DOKUV_H_</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30823</guid><dc:creator><![CDATA[CAksakal]]></dc:creator><pubDate>Fri, 27 Jun 2003 06:49:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 06:59:00 GMT]]></title><description><![CDATA[<p>1. Code-Tags verwenden<br />
2. Da steht ja gar keine Funktion, womit Du Strings übergeben willst<br />
3. Die Funktion in Deinem interface besitzt keine Dispatch-ID!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30824</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 27 Jun 2003 06:59:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 07:04:00 GMT]]></title><description><![CDATA[<p>geht es nicht das ich einfach eine variable deklarire?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30825</guid><dc:creator><![CDATA[Caksakal]]></dc:creator><pubDate>Fri, 27 Jun 2003 07:04:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 07:07:00 GMT]]></title><description><![CDATA[<p>Nö</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30826</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 27 Jun 2003 07:07:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 07:10:00 GMT]]></title><description><![CDATA[<p>kannst du mir vielleicht ein beispiel zeigen wie ich das realisieren kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30827</guid><dc:creator><![CDATA[caksakal]]></dc:creator><pubDate>Fri, 27 Jun 2003 07:10:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 07:21:00 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">interface IDokuV : IDispatch
{
[id(1), helpstring(&quot;method ShowDokuDlg&quot;)] HRESULT ShowDokuDlg(); 
[id(2), helpstring(&quot;method GetString&quot;)] HRESULT GetString( BSTR* returnedString); 
};

class ATL_NO_VTABLE CDokuV : ...
{
  // ...
  HRESULT ShowDokuDlg()
  {
    m_String = &quot;Das ist ein TestString&quot;;
    return E_NOTIMPL;
  }
  CComBSTR m_String;
  HRESULT GetString( BSTR* returnedString)
  {
    return m_String.CopyTo( returnedString);
  }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/30828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30828</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 27 Jun 2003 07:21:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 07:57:00 GMT]]></title><description><![CDATA[<p>Danken erstmal. aber<br />
ich musste den qelltext etwas änder, weil entweder outlook mekerte oder c++<br />
und trotzdem kriege ich in outlook beim ausführen der zeilen<br />
Dim d As DOKUVERWALTUNGLib.DokuV<br />
Dim s As String<br />
Set d = New DOKUVERWALTUNGLib.DokuV<br />
d.ShowDokuDlg<br />
d.GetString (s)<br />
MsgBox s<br />
Set d = Nothing</p>
<p>den text &quot;Das ist ein TestString&quot; nicht zurück<br />
/////////////////////////////////////////////////////////////////////////////<br />
// CDokuV</p>
<p>STDMETHODIMP CDokuV::ShowDokuDlg()<br />
{<br />
m_String = &quot;Das ist ein TestString&quot;;<br />
return 0;<br />
}</p>
<p>STDMETHODIMP CDokuV::GetString(BSTR* returnedString)<br />
{<br />
return m_String.CopyTo( returnedString);<br />
}</p>
<p>// DokuV.h : Deklaration von CDokuV</p>
<p>#ifndef __DOKUV_H_<br />
#define __DOKUV_H_</p>
<p>#include &quot;resource.h&quot; // Hauptsymbole<br />
#include &quot;DokuVerwaltung1.h&quot;</p>
<p>/////////////////////////////////////////////////////////////////////////////<br />
// CDokuV<br />
class ATL_NO_VTABLE CDokuV :<br />
public CComObjectRootEx&lt;CComSingleThreadModel&gt;,<br />
public CComCoClass&lt;CDokuV, &amp;CLSID_DokuV&gt;,<br />
public IDispatchImpl&lt;IDokuV, &amp;IID_IDokuV, &amp;LIBID_DOKUVERWALTUNGLib&gt;<br />
{<br />
public:</p>
<p>CDokuV()<br />
{<br />
}</p>
<p>CComBSTR m_String;</p>
<p>DECLARE_REGISTRY_RESOURCEID(IDR_DOKUV)</p>
<p>DECLARE_PROTECT_FINAL_CONSTRUCT()</p>
<p>BEGIN_COM_MAP(CDokuV)<br />
COM_INTERFACE_ENTRY(IDokuV)<br />
COM_INTERFACE_ENTRY(IDispatch)<br />
END_COM_MAP()</p>
<p>// IDokuV<br />
public:<br />
STDMETHOD(ShowDokuDlg)();<br />
STDMETHOD(GetString)(BSTR* returnedString);<br />
};</p>
<p>#endif //__DOKUV_H_</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30829</guid><dc:creator><![CDATA[Caksakal]]></dc:creator><pubDate>Fri, 27 Jun 2003 07:57:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 08:03:00 GMT]]></title><description><![CDATA[<p>versuch mal das Interface so:</p>
<pre><code class="language-cpp">interface IDokuV : IDispatch
{
[id(1), helpstring(&quot;method ShowDokuDlg&quot;)] HRESULT ShowDokuDlg(); 
[id(2), helpstring(&quot;method GetString&quot;)] HRESULT GetString( [out,retval] BSTR* returnedString); 
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/30830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30830</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 27 Jun 2003 08:03:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 08:25:00 GMT]]></title><description><![CDATA[<p>klappt trotzdem nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30831</guid><dc:creator><![CDATA[caksakal]]></dc:creator><pubDate>Fri, 27 Jun 2003 08:25:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 09:04:00 GMT]]></title><description><![CDATA[<p>Hm, habs mal im Makroeditor von VC getestet, bei mir geht's</p>
<pre><code>Dim d As Object
Dim s As String
d = CreateObject(&quot;DOKUVERWALTUNGLib.DokuV&quot;)
d.GetString( s)
MsgBox( s)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/30832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30832</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 27 Jun 2003 09:04:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 09:28:00 GMT]]></title><description><![CDATA[<p>ich hab es in vba von outlook ausprobiert. da kamm eine fehlermeldung: Objekterstellung durch Active-X Komponente nicht möglich bei der Zeile<br />
'd =CreateObject(&quot;DOKUVERWALTUNGLib.DokuV&quot;)'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30833</guid><dc:creator><![CDATA[caksakal]]></dc:creator><pubDate>Fri, 27 Jun 2003 09:28:00 GMT</pubDate></item><item><title><![CDATA[Reply to *.idl on Fri, 27 Jun 2003 09:56:00 GMT]]></title><description><![CDATA[<p>kannst Du das Projekt mal packen und mir zuschicken?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30834</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 27 Jun 2003 09:56:00 GMT</pubDate></item></channel></rss>