<?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[Probleme mit Datamodulen]]></title><description><![CDATA[<p>Hallo zusammen <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="🙂"
    /> Ich muss als erstes gestehen, dass ich noch fast ein blutiger Anfänger bin was C++ anlangt und hoffe dass mir hier jemand mit seinem Expertenrat helfen kann.</p>
<p>Zum Problem:</p>
<p>Ich bin dabei im Cbuilder(V6) ein Programm zu schreiben, das momentan aus zwei Komponenten besteht. 1. Das Hauptprogramm (haupt.cpp) und einer DLL (dbc.dll) .<br />
Die DLL ist bereits in das Hauptprogramm eingebunden und ich kann auf sie zugreifen. Die DLL enthält ein Datamodul in dem ein ADOConnection- und ein ADOQuery-Element platziert ist.<br />
Also, für die DLL gibt es eine Klasse dbc.cpp und für das Datamodule (Mdmod) eine dmod.cpp. In der dmod.cpp möchte ich nun über die Methode <em>GreifZu</em> auf die ADOConnection zugreifen. Das habe ich so gemacht:</p>
<pre><code class="language-cpp">[code]
bool GreifZu(char* Benutzername)
{
Mdmod-&gt;ADOConnection-&gt;Connected = true;
Mdmod-&gt;ADOConnection-&gt;ConnectionString =...
return true;
}
[/code]
</code></pre>
<p>In der dbc.cpp rufe eich dann die Methode GreifZu auf und gebe das Ergebnis zurück:</p>
<pre><code class="language-cpp">[code]
#include &quot;dmod.h&quot;

extern &quot;C&quot; __declspec (dllexport) bool MySQLconnect(char* Benutzername)
{
return GreifZu(Benutzername, Passwort);
}
</code></pre>
<p>[/code]</p>
<p>Wenn ich nun über das Hauptprogramm auf die Methode MySQLconnect zugreife erhalte ich einen Fehler:</p>
<p>&quot;Im Projekt haupt.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 010F195B Lesen von Adresse 00000058B'. Prozess wurde angehalten. ...&quot;</p>
<p>Im Quellcode-Explorer ist die Zeile:</p>
<pre><code class="language-cpp">[code]
Mdmod-&gt;ADOConnection-&gt;Connected = true; 
[/code]
</code></pre>
<p>als fehlerhaft markiert. Wo liegt blos der Fehler??? Kann mir von Euch jemand weiterhelfen? Wäre super! Evtl. so erklären, dass auch ich es verstehe *gg*</p>
<p>Viele Grüße, Tobi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/127582/probleme-mit-datamodulen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Jul 2026 23:56:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/127582.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 Nov 2005 14:18:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit Datamodulen on Fri, 25 Nov 2005 14:18:08 GMT]]></title><description><![CDATA[<p>Hallo zusammen <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="🙂"
    /> Ich muss als erstes gestehen, dass ich noch fast ein blutiger Anfänger bin was C++ anlangt und hoffe dass mir hier jemand mit seinem Expertenrat helfen kann.</p>
<p>Zum Problem:</p>
<p>Ich bin dabei im Cbuilder(V6) ein Programm zu schreiben, das momentan aus zwei Komponenten besteht. 1. Das Hauptprogramm (haupt.cpp) und einer DLL (dbc.dll) .<br />
Die DLL ist bereits in das Hauptprogramm eingebunden und ich kann auf sie zugreifen. Die DLL enthält ein Datamodul in dem ein ADOConnection- und ein ADOQuery-Element platziert ist.<br />
Also, für die DLL gibt es eine Klasse dbc.cpp und für das Datamodule (Mdmod) eine dmod.cpp. In der dmod.cpp möchte ich nun über die Methode <em>GreifZu</em> auf die ADOConnection zugreifen. Das habe ich so gemacht:</p>
<pre><code class="language-cpp">[code]
bool GreifZu(char* Benutzername)
{
Mdmod-&gt;ADOConnection-&gt;Connected = true;
Mdmod-&gt;ADOConnection-&gt;ConnectionString =...
return true;
}
[/code]
</code></pre>
<p>In der dbc.cpp rufe eich dann die Methode GreifZu auf und gebe das Ergebnis zurück:</p>
<pre><code class="language-cpp">[code]
#include &quot;dmod.h&quot;

extern &quot;C&quot; __declspec (dllexport) bool MySQLconnect(char* Benutzername)
{
return GreifZu(Benutzername, Passwort);
}
</code></pre>
<p>[/code]</p>
<p>Wenn ich nun über das Hauptprogramm auf die Methode MySQLconnect zugreife erhalte ich einen Fehler:</p>
<p>&quot;Im Projekt haupt.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 010F195B Lesen von Adresse 00000058B'. Prozess wurde angehalten. ...&quot;</p>
<p>Im Quellcode-Explorer ist die Zeile:</p>
<pre><code class="language-cpp">[code]
Mdmod-&gt;ADOConnection-&gt;Connected = true; 
[/code]
</code></pre>
<p>als fehlerhaft markiert. Wo liegt blos der Fehler??? Kann mir von Euch jemand weiterhelfen? Wäre super! Evtl. so erklären, dass auch ich es verstehe *gg*</p>
<p>Viele Grüße, Tobi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/927020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/927020</guid><dc:creator><![CDATA[cmdr_toxic]]></dc:creator><pubDate>Fri, 25 Nov 2005 14:18:08 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Datamodulen on Fri, 25 Nov 2005 14:31:42 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>du meinst doch wohl</p>
<pre><code>bool GreifZu(char* Benutzername)
{
Mdmod-&gt;ADOConnection-&gt;ConnectionString =...
Mdmod-&gt;ADOConnection-&gt;Connected = true;
return true;
}
</code></pre>
<p>Mfg<br />
Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/927038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/927038</guid><dc:creator><![CDATA[KlausB]]></dc:creator><pubDate>Fri, 25 Nov 2005 14:31:42 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Datamodulen on Fri, 25 Nov 2005 14:49:26 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>die Zugriffsverletzung deutet eher darauf hin, das für Mdmod keine gültige Instanz vorhanden ist.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/927052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/927052</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 25 Nov 2005 14:49:26 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Datamodulen on Fri, 25 Nov 2005 15:47:29 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/36514">@Klaus</a>: Ja stimmt, habe in meinem Post die Reihenfolge verwechselt.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7971">@akari</a>: Ja das kann sein, habe in einem Delphi Forum einen ähnlichen Artikel gefunden. Kannst Du mir evtl. nen Tip geben, wie ich am Besten eine gültige Instanz erzeuge?</p>
<p>Viele Grüße,</p>
<p>Tobi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/927108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/927108</guid><dc:creator><![CDATA[cmdr_toxic]]></dc:creator><pubDate>Fri, 25 Nov 2005 15:47:29 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Datamodulen on Fri, 25 Nov 2005 16:16:17 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>erstelle in der DLL noch zwei einfache Funktionen, die eine machts nichts weiter als die Instanz mit new zu erstellen und die andere diese wieder zu löschen.<br />
Diese beiden Funktionen rufst du dann am Anfang bzw. am Ende deines Programms auf.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/927122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/927122</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 25 Nov 2005 16:16:17 GMT</pubDate></item></channel></rss>