<?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[Com+ &#x2F; OLE Zugriff auf Programm Hilfe - komm nicht weiter :-(]]></title><description><![CDATA[<p>Nun schon fast ein halbes Jahr versuche ich vergeblich auf die COM-Schnittstelle unseres Buchaltungsprogramms zuzugreifen und schaffe es nicht.</p>
<p>Daher bitte ich nochmals um eure Hilfe - bin auch bereit was dafür auszugeben wenn mir jemand helfen kann die Anbindung in die Reihe zu bekommen.</p>
<p>Ich benutze im Moment den C++ Builder Version 6 ( Steige bald auf 2006 um ).<br />
Das Programm heist BüroPlus und Bietet eine COM-Schnittstelle.</p>
<p>Ich habe einige Programmierbeispiele für Delphi 5 , WSH und VB.<br />
Ich habe Snipletts und einige komplette Programme als Quellen.</p>
<p>Irgend wie muss das doch zu schaffen sein.</p>
<p>Das ist z.B. das einfachste Beispiel für Delphi 5 :</p>
<pre><code>var
  BpApp: Variant;
  a,b,c : string;
begin
  BpApp := CreateOleObject('BpNt.Application');
  BpApp.Init('GetKundendaten','','','');
  showmessage(BpApp.GetVersion);
  BpApp.GetKundendaten(a,b,c);
  showmessage(a + ' ' + b + ' ' + c);
  BpApp := nil;
end;
</code></pre>
<p>Zusätzlich konnte ich über &quot;Projekt/Typenbibliothek..&quot; die *_TLP und *_OCX erstellen. Auserdem wurden Komponenten der Komponentenpalette hinzugefügt.</p>
<p>Leider waren bisher alle Tests ohne erfolg.</p>
<p>Ich habe z.B. folgendes getestet :</p>
<pre><code class="language-cpp">//der Originale String
        AnsiString Original = &quot;GetKundendaten&quot;;
        AnsiString Original2 = &quot;&quot;;
				//der Puffer
        wchar_t c1[255];

 Variant BPNext;
 BPNext = CreateOleObject(&quot;BpNt.Application&quot;);
 BPNext.Init(Original.WideChar(c1,sizeof(c1)),Original2.WideChar(c1,sizeof(c1)),Original2.WideChar(c1,sizeof(c1)),Original2.WideChar(c1,sizeof(c1)));
 BPNext = Unassigned;
</code></pre>
<p>Leider kennt er ja die Funktion &quot;Init&quot; garnicht. Wie macht das Delphi ?</p>
<p>Bitte helft mir - ich muss das unbedingt hinbekommen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /><br />
Mir würde ja schon ein Hinweis reichen um weiter zu machen.<br />
Aber im Moment gehen mir einfach die Lösungsansätze aus.</p>
<p>Folgende Quellen konnte ich bisher extrahieren<br />
<a href="http://www.ortleb.de/downloads/BPNext/BpNexT.IDL" rel="nofollow">http://www.ortleb.de/downloads/BPNext/BpNexT.IDL</a><br />
<a href="http://www.ortleb.de/downloads/BPNext/BpNT_OCX.cpp" rel="nofollow">http://www.ortleb.de/downloads/BPNext/BpNT_OCX.cpp</a><br />
<a href="http://www.ortleb.de/downloads/BPNext/BpNT_OCX.h" rel="nofollow">http://www.ortleb.de/downloads/BPNext/BpNT_OCX.h</a><br />
<a href="http://www.ortleb.de/downloads/BPNext/BpNT_TLB.cpp" rel="nofollow">http://www.ortleb.de/downloads/BPNext/BpNT_TLB.cpp</a><br />
<a href="http://www.ortleb.de/downloads/BPNext/BpNT_TLB.h" rel="nofollow">http://www.ortleb.de/downloads/BPNext/BpNT_TLB.h</a></p>
<p>CU<br />
Torsten</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/181221/com-ole-zugriff-auf-programm-hilfe-komm-nicht-weiter</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 16:50:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/181221.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 May 2007 08:00:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Com+ &#x2F; OLE Zugriff auf Programm Hilfe - komm nicht weiter :-( on Fri, 11 May 2007 08:23:10 GMT]]></title><description><![CDATA[<p>Nun schon fast ein halbes Jahr versuche ich vergeblich auf die COM-Schnittstelle unseres Buchaltungsprogramms zuzugreifen und schaffe es nicht.</p>
<p>Daher bitte ich nochmals um eure Hilfe - bin auch bereit was dafür auszugeben wenn mir jemand helfen kann die Anbindung in die Reihe zu bekommen.</p>
<p>Ich benutze im Moment den C++ Builder Version 6 ( Steige bald auf 2006 um ).<br />
Das Programm heist BüroPlus und Bietet eine COM-Schnittstelle.</p>
<p>Ich habe einige Programmierbeispiele für Delphi 5 , WSH und VB.<br />
Ich habe Snipletts und einige komplette Programme als Quellen.</p>
<p>Irgend wie muss das doch zu schaffen sein.</p>
<p>Das ist z.B. das einfachste Beispiel für Delphi 5 :</p>
<pre><code>var
  BpApp: Variant;
  a,b,c : string;
begin
  BpApp := CreateOleObject('BpNt.Application');
  BpApp.Init('GetKundendaten','','','');
  showmessage(BpApp.GetVersion);
  BpApp.GetKundendaten(a,b,c);
  showmessage(a + ' ' + b + ' ' + c);
  BpApp := nil;
end;
</code></pre>
<p>Zusätzlich konnte ich über &quot;Projekt/Typenbibliothek..&quot; die *_TLP und *_OCX erstellen. Auserdem wurden Komponenten der Komponentenpalette hinzugefügt.</p>
<p>Leider waren bisher alle Tests ohne erfolg.</p>
<p>Ich habe z.B. folgendes getestet :</p>
<pre><code class="language-cpp">//der Originale String
        AnsiString Original = &quot;GetKundendaten&quot;;
        AnsiString Original2 = &quot;&quot;;
				//der Puffer
        wchar_t c1[255];

 Variant BPNext;
 BPNext = CreateOleObject(&quot;BpNt.Application&quot;);
 BPNext.Init(Original.WideChar(c1,sizeof(c1)),Original2.WideChar(c1,sizeof(c1)),Original2.WideChar(c1,sizeof(c1)),Original2.WideChar(c1,sizeof(c1)));
 BPNext = Unassigned;
</code></pre>
<p>Leider kennt er ja die Funktion &quot;Init&quot; garnicht. Wie macht das Delphi ?</p>
<p>Bitte helft mir - ich muss das unbedingt hinbekommen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /><br />
Mir würde ja schon ein Hinweis reichen um weiter zu machen.<br />
Aber im Moment gehen mir einfach die Lösungsansätze aus.</p>
<p>Folgende Quellen konnte ich bisher extrahieren<br />
<a href="http://www.ortleb.de/downloads/BPNext/BpNexT.IDL" rel="nofollow">http://www.ortleb.de/downloads/BPNext/BpNexT.IDL</a><br />
<a href="http://www.ortleb.de/downloads/BPNext/BpNT_OCX.cpp" rel="nofollow">http://www.ortleb.de/downloads/BPNext/BpNT_OCX.cpp</a><br />
<a href="http://www.ortleb.de/downloads/BPNext/BpNT_OCX.h" rel="nofollow">http://www.ortleb.de/downloads/BPNext/BpNT_OCX.h</a><br />
<a href="http://www.ortleb.de/downloads/BPNext/BpNT_TLB.cpp" rel="nofollow">http://www.ortleb.de/downloads/BPNext/BpNT_TLB.cpp</a><br />
<a href="http://www.ortleb.de/downloads/BPNext/BpNT_TLB.h" rel="nofollow">http://www.ortleb.de/downloads/BPNext/BpNT_TLB.h</a></p>
<p>CU<br />
Torsten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1282819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1282819</guid><dc:creator><![CDATA[Mr.T 0]]></dc:creator><pubDate>Fri, 11 May 2007 08:23:10 GMT</pubDate></item><item><title><![CDATA[Reply to Com+ &#x2F; OLE Zugriff auf Programm Hilfe - komm nicht weiter :-( on Fri, 11 May 2007 09:02:52 GMT]]></title><description><![CDATA[<p>du hättest auch deinen damaligen <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-150220-and-highlight-is-%2Acreateoleobject%2A.html" rel="nofollow">Beitrag</a> wieder nutzen können</p>
<p>eventuell gehts ja so:</p>
<pre><code class="language-cpp">Variant BPNext1 = BPNext.OleFunction(&quot;Init&quot;, &lt;die benötigten Variablen&gt;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1282862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1282862</guid><dc:creator><![CDATA[Linnea]]></dc:creator><pubDate>Fri, 11 May 2007 09:02:52 GMT</pubDate></item><item><title><![CDATA[Reply to Com+ &#x2F; OLE Zugriff auf Programm Hilfe - komm nicht weiter :-( on Fri, 11 May 2007 09:03:30 GMT]]></title><description><![CDATA[<p>Da der BCB auch Delphi-Dateien (ObjectPascal) versteht, hast du schon mal versucht den Delphi-Code auszuführen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1282863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1282863</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Fri, 11 May 2007 09:03:30 GMT</pubDate></item><item><title><![CDATA[Reply to Com+ &#x2F; OLE Zugriff auf Programm Hilfe - komm nicht weiter :-( on Fri, 11 May 2007 09:27:04 GMT]]></title><description><![CDATA[<p>Linnea schrieb:</p>
<blockquote>
<pre><code class="language-cpp">Variant BPNext1 = BPNext.OleFunction(&quot;Init&quot;, &lt;die benötigten Variablen&gt;);
</code></pre>
</blockquote>
<p>Sry - hab nich dran gedacht den alten Beitrag rauszukramen.</p>
<p>Die Version oben geht leider nicht, löst einen EOleSysError aus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /></p>
<p>Th schrieb:</p>
<blockquote>
<p>Der Builder kann zwar Delphi Objekte ( z.B. CreateOleObject() ) benutzen, aber den gesammten Quelltext versteht er nicht. Das muss umgeschrieben werden, nur wie..</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1282874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1282874</guid><dc:creator><![CDATA[Mr.T 0]]></dc:creator><pubDate>Fri, 11 May 2007 09:27:04 GMT</pubDate></item><item><title><![CDATA[Reply to Com+ &#x2F; OLE Zugriff auf Programm Hilfe - komm nicht weiter :-( on Sat, 12 May 2007 10:54:18 GMT]]></title><description><![CDATA[<p>ok, da es ne Demo-version von dem Programm gibt, hab ich mal etwas getestet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Warum verwendest du nicht die durch die Typenbibliothek installierten Komponenten?</p>
<p>leg ein TApp aufs Formular, dann bei ButtonClick</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
App1-&gt;Connect();
WideString t1 = &quot;GetKundenDaten&quot;;
WideString t2 = &quot;&quot;;

App1-&gt;Init(t1.c_bstr(),t2.c_bstr(),t2.c_bstr(),t2.c_bstr());
ShowMessage(App1-&gt;GetVersion());
App1-&gt;Disconnect();
}
</code></pre>
<p>die Funktionen die man verwenden kann sind alle in der BpNT_OXC.h enthalten, und zwar für jede Komponente</p>
<p>ein Problem dürfte sein, daß meist mit WideString/wchar_t gearbeitet wird, d.h. eventuell benötigst du Komponenten die UNICODE darstellen können (z.B. die TNT-Komponenten)</p>
<p>was ich noch nicht ganz herausbekommen hab ist der Zugriff auf GetKundendaten, da hier u.a. das Problem der UNICODE-Zeichen zutrifft:</p>
<pre><code class="language-cpp">tagVARIANT a,b,c;
App1-&gt;GetKundendaten(&amp;a,&amp;b,&amp;c);
WideString s1 = a.bstrVal;  //eventuell auch ein anderer Parameter, siehe BCB-Hilfe zu tagVARIANT/TVarData
WideString s2 = b.bstrVal;
WideString s3 = c.bstrVal;
ShowMessage(s1 + &quot;\r\n&quot; + s2 + &quot;\r\n&quot; + s3);
</code></pre>
<p>entweder kommt nur Kauderwelsch oder Fehlermeldungen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1283361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1283361</guid><dc:creator><![CDATA[Linnea]]></dc:creator><pubDate>Sat, 12 May 2007 10:54:18 GMT</pubDate></item><item><title><![CDATA[Reply to Com+ &#x2F; OLE Zugriff auf Programm Hilfe - komm nicht weiter :-( on Sat, 12 May 2007 15:06:28 GMT]]></title><description><![CDATA[<p>Das war der entscheidente Hinweiß.</p>
<p>der Lustige Typ tagVARIANT sollte wohl dynamisch als Zeiger erstellt werden.<br />
Dann macht der auch was er soll <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="🙂"
    /> (Hab aber vorher noch nie etwas von diesem Typ gehört - und Laut Hersteller sollte das sowiso ein OleVariant sein.</p>
<p>So geht es auf Jeden Fall :-).</p>
<pre><code class="language-cpp">tagVARIANT *a = new (tagVARIANT);
tagVARIANT *b = new (tagVARIANT);
tagVARIANT *c = new (tagVARIANT);
App1-&gt;GetKundendaten(a,b,c);
WideString s1 = a-&gt;bstrVal;  //eventuell auch ein anderer Parameter, siehe BCB-Hilfe zu tagVARIANT/TVarData
WideString s2 = b-&gt;bstrVal;
WideString s3 = c-&gt;bstrVal;
Label2-&gt;Caption = s1 + &quot;\r\n&quot; + s2 + &quot;\r\n&quot; + s3;
</code></pre>
<p>Deine Hilfe soll nicht umsonst gewesen sein - ich hätte sonst nicht weiter gewusst.</p>
<p>Kannst du mich mal unter <a href="mailto:torsten@ortleb.de" rel="nofollow">torsten@ortleb.de</a> anschreiben ? Oder kann ich dich irgendwie Erreichen ?</p>
<p>CU<br />
T</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1283523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1283523</guid><dc:creator><![CDATA[Mr.T 0]]></dc:creator><pubDate>Sat, 12 May 2007 15:06:28 GMT</pubDate></item></channel></rss>