<?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[Window Handle]]></title><description><![CDATA[<p>Hilfe!<br />
Ich habe eine ActiveX Komponente eingebunden und<br />
die möchte für eine Funktion ein WindowHandle.<br />
Das soll angeblich &quot;long&quot; sein.</p>
<p>Habe versucht this-&gt;Handle zu übergeben. Dann<br />
meckert der Compiler wegen void* und long.<br />
Wenn ich mit (long) caste, dann wird zwar das<br />
Programm übersetetzt, ich bekomme aber beim<br />
Aufruf eine Fehlermeldung.</p>
<p>Hat jemand eine Idee?</p>
<p>Chris</p>
<p>HWND myhwnd;<br />
myhwnd = (long) this-&gt;Handle;</p>
<p>DDialCtl1-&gt;Dial( myhwnd , (wchar_t*) &quot;275&quot;,(wchar_t*) &quot;test&quot;);</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/174060/window-handle</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 16:36:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/174060.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Feb 2007 15:15:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Window Handle on Thu, 22 Feb 2007 15:15:11 GMT]]></title><description><![CDATA[<p>Hilfe!<br />
Ich habe eine ActiveX Komponente eingebunden und<br />
die möchte für eine Funktion ein WindowHandle.<br />
Das soll angeblich &quot;long&quot; sein.</p>
<p>Habe versucht this-&gt;Handle zu übergeben. Dann<br />
meckert der Compiler wegen void* und long.<br />
Wenn ich mit (long) caste, dann wird zwar das<br />
Programm übersetetzt, ich bekomme aber beim<br />
Aufruf eine Fehlermeldung.</p>
<p>Hat jemand eine Idee?</p>
<p>Chris</p>
<p>HWND myhwnd;<br />
myhwnd = (long) this-&gt;Handle;</p>
<p>DDialCtl1-&gt;Dial( myhwnd , (wchar_t*) &quot;275&quot;,(wchar_t*) &quot;test&quot;);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233387</guid><dc:creator><![CDATA[Gastchris]]></dc:creator><pubDate>Thu, 22 Feb 2007 15:15:11 GMT</pubDate></item><item><title><![CDATA[Reply to Window Handle on Thu, 22 Feb 2007 15:41:09 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>was sagt denn der Hersteller der ActiveX dazu?</p>
<p>//Edit: und vor allem wie sieht die Fehlermeldung aus?</p>
<p>mfg, Micha!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233402</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 22 Feb 2007 15:41:09 GMT</pubDate></item><item><title><![CDATA[Reply to Window Handle on Thu, 22 Feb 2007 16:08:08 GMT]]></title><description><![CDATA[<p>Den Hersteller gibt es leider nicht mehr.<br />
Das ActiveX funktioniert unter VB einwandfrei.</p>
<p>Ich habe wenig Erfahrungen mit ActiveX unter BCB.<br />
Hat auch gedaueert, bis ich das compilieren konnte,<br />
er hatte beim Konvertieren der dll eine Variable<br />
ins Kommentarfeld reingezogen und dann hat der<br />
Compiler dauernd gemeckert.</p>
<p>Der Fehler ist irgendwas mit &quot;Internal Error&quot;, also<br />
auch leider nicht sehr aufschlussreich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233434</guid><dc:creator><![CDATA[Gastchris]]></dc:creator><pubDate>Thu, 22 Feb 2007 16:08:08 GMT</pubDate></item><item><title><![CDATA[Reply to Window Handle on Thu, 22 Feb 2007 16:16:31 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>Das ActiveX funktioniert unter VB einwandfrei.</p>
</blockquote>
<p>Dann zeig doch mal den relevanten Ausschnitt aus dem VB-Quellcode, was für ein Handle wie dort übergeben wird.<br />
Denn es kommt mir komisch vor, das ein Windows-Fenster-Handle als long übergeben werden soll, und dann noch an eine nichtvisuelle (?) Komunikationskomponente.<br />
Sollte wirklich der Windows-Handle des aktuellen Fensters als long übergeben werden, machst du jedenfalls mit deinem Cast nichts falsch.</p>
<p>Statt dem hier <em>(wchar_t</em>) &quot;275&quot;* solltest du aber besser das hier <em>L&quot;275&quot;</em> schreiben.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233445</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 22 Feb 2007 16:16:31 GMT</pubDate></item><item><title><![CDATA[Reply to Window Handle on Fri, 23 Feb 2007 06:58:27 GMT]]></title><description><![CDATA[<p>Hallo,<br />
danke für die Antworten.<br />
Nochmal zur Erklärung. Es handelt sich um eine Komponente,<br />
mit der man TAPI-Anrufe machen kann, dh. man kann über ein<br />
angeschlossenes Telefon wählen.</p>
<p>Unter VB wird die Funktion folgendermassen aufgerufen:</p>
<pre><code>Private Sub Command1_Click()
   DDialCtl1.Dial Form1.hWnd, &quot;275&quot;, &quot;name&quot;
End Sub
</code></pre>
<p>nichtvisuell:<br />
Doch, es erscheint ja ein Fenster. Dort wird dann angezeigt,<br />
welche Nummer angerufen wird und es ist ein Button zum<br />
Auglegen vorhanden.<br />
Ich dachte Window-Handels wären immer eine Long Zahl?</p>
<p>Bei der Übernahme, des ActiveX hat BCB die folgende<br />
Funktion draus gemacht:</p>
<pre><code>// OCX-Methoden
  void  __fastcall Dial(long hWnd, BSTR DialNumber, BSTR DialName);
</code></pre>
<p>Danke<br />
Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233822</guid><dc:creator><![CDATA[GastChris]]></dc:creator><pubDate>Fri, 23 Feb 2007 06:58:27 GMT</pubDate></item><item><title><![CDATA[Reply to Window Handle on Fri, 23 Feb 2007 07:06:55 GMT]]></title><description><![CDATA[<p>Ich habs!</p>
<p>Hallo akari,<br />
der Tipp mit dem &quot;L&quot; war wohl die Lösung.</p>
<pre><code>DDialCtl1-&gt;Dial( (long) this-&gt;Handle , L&quot;275&quot;,L&quot;name&quot;);
</code></pre>
<p>Das funktioniert!<br />
Was macht das &quot;L&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233829</guid><dc:creator><![CDATA[gastchris]]></dc:creator><pubDate>Fri, 23 Feb 2007 07:06:55 GMT</pubDate></item><item><title><![CDATA[Reply to Window Handle on Fri, 23 Feb 2007 08:32:03 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Das L macht aus dem folgenden AnsiString-Literal ein Unicode-Literal, weil du für die Funktion ein wchar_t* brauchst.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233879</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 23 Feb 2007 08:32:03 GMT</pubDate></item><item><title><![CDATA[Reply to Window Handle on Fri, 23 Feb 2007 10:13:07 GMT]]></title><description><![CDATA[<p>Hallo akari,</p>
<p>ich bin es nochmal.<br />
Jetzt habe ich folgendes Problem. Ich habe<br />
die Nummer nicht mehr in der Konstanten (&quot;123&quot;)<br />
sondern in einer Variablen stehen (z.B. AnsiString).</p>
<p>Wie kann ich das jetzt mit &quot;L&quot; umwandeln?</p>
<p>Wenn ich schreibe:</p>
<pre><code>AnsiString test;
 test = &quot;275&quot;;
 DDialCtl1-&gt;Dial( (long) this-&gt;Handle , (L) test, L&quot;cpr&quot;);
</code></pre>
<p>dann gibt es einen Compilerfehler, dass &quot;L&quot;<br />
ein undefiniertes Symbol ist.</p>
<p>Hat jemand eine Lösung?</p>
<p>Definiert ist die Funktion mit BSTR</p>
<pre><code>void __fastcall TDDialCtl::Dial(long hWnd, BSTR DialNumber, BSTR DialName)
{
  GetDefaultInterface()-&gt;Dial(hWnd, DialNumber, DialName);
}
</code></pre>
<p>Beste Grüsse<br />
Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233960</guid><dc:creator><![CDATA[GastChris]]></dc:creator><pubDate>Fri, 23 Feb 2007 10:13:07 GMT</pubDate></item><item><title><![CDATA[Reply to Window Handle on Fri, 23 Feb 2007 10:26:17 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Da du kein Literal mehr hast kannst du auch kein &quot;L&quot; mehr benutzen. Du must mit der WideString-Klasse konvertieren</p>
<pre><code class="language-cpp">AnsiString test = &quot;275&quot;;
DDialCtl1-&gt;Dial( (long) this-&gt;Handle , WideString(test).c_bstr(), L&quot;cpr&quot;);
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233971</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 23 Feb 2007 10:26:17 GMT</pubDate></item><item><title><![CDATA[Reply to Window Handle on Fri, 23 Feb 2007 12:48:42 GMT]]></title><description><![CDATA[<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1234033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1234033</guid><dc:creator><![CDATA[gastChris]]></dc:creator><pubDate>Fri, 23 Feb 2007 12:48:42 GMT</pubDate></item></channel></rss>