<?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[[ERLEDIGT] SQLite3 Problem: Fehler in Definition]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hoffe es kann mir jemand weiterhelfen.<br />
Ich habe im Builder 5 ein Projekt mit SQLite3 gemacht, das läuft auch wunderbar.</p>
<p>Jetzt habe ich den Builder 2007 und wollte ein neues Projekt anfangen. Ich habe also die schon bewährten Dateien (sqlite3.h, sqlite.lib, sqlite.h) in mein neues Projekt eingebunden bzw. included.</p>
<p>datenStrg.h</p>
<pre><code class="language-cpp">class datenStrg
{
 public:
		 __fastcall datenStrg(TfrmOFmain *pMain);
		 __fastcall ~datenStrg();
	void __fastcall fehlerDB(sqlite3 *database);
        ...
 private:
	sqlite3			*database;
        ...
};
</code></pre>
<p>datenStrg.cpp</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;sqlite/sqlite3.h&gt;

using namespace std;

#pragma hdrstop

#include &quot;datenStrg.h&quot;
#include &quot;OFmain.h&quot;
#include &quot;Info.h&quot;
#include &quot;Hilfe.h&quot;
#include &quot;Parameter.h&quot;

#pragma package(smart_init)

__fastcall datenStrg::datenStrg(TfrmOFmain *pMain)
{
 if (sqlite3_open(&quot;daten.db&quot;, &amp;database) != SQLITE_OK) //Datenbank öffnen
 {
  fehlerDB( database );
 }
}
//---------------------------------------------------------------------------

__fastcall datenStrg::~datenStrg()
{
 sqlite3_close( database ); //Datenbank schließen
}
//---------------------------------------------------------------------------

void __fastcall datenStrg::fehlerDB(sqlite3 *database)
{
 /*Fehlercode ausgeben */
 ... = sqlite3_errmsg( database );
}

...
</code></pre>
<p>Jetzt habe ich das Problem, dass ich immer wenn ich mein Projekt kompilieren will folgende Fehlermeldungen bekomme:</p>
<blockquote>
<p>[BCC32 Fehler] datenStrg.h(16): E2293 ) erwartet<br />
[BCC32 Fehler] datenStrg.h(23): E2303 Typname erwartet<br />
[BCC32 Fehler] datenStrg.h(23): E2139 In Deklaration fehlt ;</p>
</blockquote>
<p>mit Verweis aus die Zeile 6 in meiner .h-Datei. Natürlich steht in meiner Headerdatei noch mehr drin als das was hier steht.</p>
<p>Der Kompiler erwartet immer vor *database eine abschlißende runde Klammer. Warum? <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/207524/erledigt-sqlite3-problem-fehler-in-definition</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 05:35:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/207524.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 08 Mar 2008 19:30:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [ERLEDIGT] SQLite3 Problem: Fehler in Definition on Mon, 10 Mar 2008 21:04:34 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hoffe es kann mir jemand weiterhelfen.<br />
Ich habe im Builder 5 ein Projekt mit SQLite3 gemacht, das läuft auch wunderbar.</p>
<p>Jetzt habe ich den Builder 2007 und wollte ein neues Projekt anfangen. Ich habe also die schon bewährten Dateien (sqlite3.h, sqlite.lib, sqlite.h) in mein neues Projekt eingebunden bzw. included.</p>
<p>datenStrg.h</p>
<pre><code class="language-cpp">class datenStrg
{
 public:
		 __fastcall datenStrg(TfrmOFmain *pMain);
		 __fastcall ~datenStrg();
	void __fastcall fehlerDB(sqlite3 *database);
        ...
 private:
	sqlite3			*database;
        ...
};
</code></pre>
<p>datenStrg.cpp</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;sqlite/sqlite3.h&gt;

using namespace std;

#pragma hdrstop

#include &quot;datenStrg.h&quot;
#include &quot;OFmain.h&quot;
#include &quot;Info.h&quot;
#include &quot;Hilfe.h&quot;
#include &quot;Parameter.h&quot;

#pragma package(smart_init)

__fastcall datenStrg::datenStrg(TfrmOFmain *pMain)
{
 if (sqlite3_open(&quot;daten.db&quot;, &amp;database) != SQLITE_OK) //Datenbank öffnen
 {
  fehlerDB( database );
 }
}
//---------------------------------------------------------------------------

__fastcall datenStrg::~datenStrg()
{
 sqlite3_close( database ); //Datenbank schließen
}
//---------------------------------------------------------------------------

void __fastcall datenStrg::fehlerDB(sqlite3 *database)
{
 /*Fehlercode ausgeben */
 ... = sqlite3_errmsg( database );
}

...
</code></pre>
<p>Jetzt habe ich das Problem, dass ich immer wenn ich mein Projekt kompilieren will folgende Fehlermeldungen bekomme:</p>
<blockquote>
<p>[BCC32 Fehler] datenStrg.h(16): E2293 ) erwartet<br />
[BCC32 Fehler] datenStrg.h(23): E2303 Typname erwartet<br />
[BCC32 Fehler] datenStrg.h(23): E2139 In Deklaration fehlt ;</p>
</blockquote>
<p>mit Verweis aus die Zeile 6 in meiner .h-Datei. Natürlich steht in meiner Headerdatei noch mehr drin als das was hier steht.</p>
<p>Der Kompiler erwartet immer vor *database eine abschlißende runde Klammer. Warum? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1470674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1470674</guid><dc:creator><![CDATA[merlot]]></dc:creator><pubDate>Mon, 10 Mar 2008 21:04:34 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] SQLite3 Problem: Fehler in Definition on Sat, 08 Mar 2008 21:50:52 GMT]]></title><description><![CDATA[<p>mach mal den Include &quot;#include &lt;sqlite/sqlite3.h&gt;&quot; von der CPP in den Header, da er dort sqlite3 nicht kennt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1470760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1470760</guid><dc:creator><![CDATA[Linnea]]></dc:creator><pubDate>Sat, 08 Mar 2008 21:50:52 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] SQLite3 Problem: Fehler in Definition on Sat, 08 Mar 2008 22:58:08 GMT]]></title><description><![CDATA[<p>Versteh ich zwar net warum ich das tun sollte, da ist bei Builder 5 auch so funktioniert hatte, aber ok. Jetzt bekomme ich folgende Fehler:</p>
<blockquote>
<p>[ILINK32 Fehler] Error: Nicht aufl÷sbares externes '_sqlite3_close' referenziert von E:\C++ PROJEKTE\SCHWEI¯PARAMETER-DB\DEBUG\DATENSTRG.OBJ<br />
[ILINK32 Fehler] Error: Nicht aufl÷sbares externes '_sqlite3_open' referenziert von E:\C++ PROJEKTE\SCHWEI¯PARAMETER-DB\DEBUG\DATENSTRG.OBJ<br />
[ILINK32 Fehler] Error: Nicht aufl÷sbares externes '_sqlite3_errmsg' referenziert von E:\C++ PROJEKTE\SCHWEI¯PARAMETER-DB\DEBUG\DATENSTRG.OBJ</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1470802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1470802</guid><dc:creator><![CDATA[merlot]]></dc:creator><pubDate>Sat, 08 Mar 2008 22:58:08 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] SQLite3 Problem: Fehler in Definition on Sun, 09 Mar 2008 06:38:53 GMT]]></title><description><![CDATA[<p>das Problem ist, dass er im Header &quot;sqlite3&quot; nicht (er)kennt, also mußt du es dort irgendwie bekannt machen</p>
<p>zu den Fehlermeldungen hilft vielleicht dieser <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-206449-and-start-is-0-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-.html" rel="nofollow">Beitrag</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1470846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1470846</guid><dc:creator><![CDATA[Linnea]]></dc:creator><pubDate>Sun, 09 Mar 2008 06:38:53 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] SQLite3 Problem: Fehler in Definition on Mon, 10 Mar 2008 06:36:43 GMT]]></title><description><![CDATA[<p>Linnea schrieb:</p>
<blockquote>
<p>das Problem ist, dass er im Header &quot;sqlite3&quot; nicht (er)kennt, also mußt du es dort irgendwie bekannt machen</p>
</blockquote>
<p>Genau das ist das Problem. sqlite3 ist bekannt, das sehe ich wenn ich drüber fahre dann zeigt er mir ja die dazugehörige Headerdatei an und das ist sqlite3.h. Funktioniert also, nur warum erkennt er die Definition der Parameterübergabe nicht? Hat vllt. noch jmd. ne Idee? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1471236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471236</guid><dc:creator><![CDATA[merlot]]></dc:creator><pubDate>Mon, 10 Mar 2008 06:36:43 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] SQLite3 Problem: Fehler in Definition on Mon, 10 Mar 2008 08:12:25 GMT]]></title><description><![CDATA[<p>Ich kann es leider momentan nicht unter BCB2007 testen da ich nicht am richtigen Rechner bin, aber ist es möglich, dass ich die sqlite3.h auch schon im meinem MainForm bekannt machen muss über das ich die datenStrg.cpp aufrufe? Hab das gerade mal beim BCB5 getestet (in nem alten Projekt) und dort bekomme ich sobald ich die include Anweisung auskommentiere exakt den selben Fehler.</p>
<p>Warum jedoch braucht der Compiler schon im aufrufenden Formular die include Anweisung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471262</guid><dc:creator><![CDATA[merlot]]></dc:creator><pubDate>Mon, 10 Mar 2008 08:12:25 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] SQLite3 Problem: Fehler in Definition on Mon, 10 Mar 2008 09:34:08 GMT]]></title><description><![CDATA[<p>Du musst das include da reinpacken, wo du deren Deklarationen benötigst (in datenStrg.cpp). In der datenStrg.h würde auch eine Forwarddeklaration auf sqlite3 reichen (class oder struct), da du hier nur mit Pointern hantierst. Die unresolved externals deuten darauf hin, das du auch die dazugehörige sqlite-Lib nicht mit eingebunden hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471300</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 10 Mar 2008 09:34:08 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] SQLite3 Problem: Fehler in Definition on Mon, 10 Mar 2008 10:37:57 GMT]]></title><description><![CDATA[<p>Ja aber genau das versteh ich ja nicht. Die include Anweisung hab ich im Kopf der cpp Datei angegeben, die lib ins Projekt eingefügt und wie gesagt in nem älteren Projekt lief das unter BCB5 auch prima so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471332</guid><dc:creator><![CDATA[merlot]]></dc:creator><pubDate>Mon, 10 Mar 2008 10:37:57 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] SQLite3 Problem: Fehler in Definition on Mon, 10 Mar 2008 13:03:40 GMT]]></title><description><![CDATA[<p>Das kann ich jetzt ohne mehr Informationen nicht überprüfen. Wenn du willst, kannst du mir ja mal dein Projekt schicken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471417</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 10 Mar 2008 13:03:40 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] SQLite3 Problem: Fehler in Definition on Mon, 10 Mar 2008 18:09:06 GMT]]></title><description><![CDATA[<p>merlot schrieb:</p>
<blockquote>
<p>[...] die lib ins Projekt eingefügt [...]</p>
</blockquote>
<p>Hast du das bzw. die sqlite-Verzeichnis(se) mit in die Source- und Bibliothekspfade in den Projektoptionen eingetragen!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471644</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Mon, 10 Mar 2008 18:09:06 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] SQLite3 Problem: Fehler in Definition on Mon, 10 Mar 2008 19:27:12 GMT]]></title><description><![CDATA[<p>Ich hab die lib dem Projekt hinzugefügt, über Projekt--&gt;Dem Projekt hinzufügen...<br />
Jetzt hab ich noch die lib in das lib Verzeichnis des BCB kopiert. Das hilft aber alles nichts.</p>
<p>Das ist echt deprimierend, wenn man keinen Fehler findet und vorallem neue Software hat und diese nur unzureichend nutzen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471695</guid><dc:creator><![CDATA[merlot]]></dc:creator><pubDate>Mon, 10 Mar 2008 19:27:12 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] SQLite3 Problem: Fehler in Definition on Mon, 10 Mar 2008 21:03:37 GMT]]></title><description><![CDATA[<p>Nachdem ich die sqlite3 als Vorwärtsdeklaration eingefügt habe funktioniert es. Ich verstehe zwar nicht warum die lib und die Header nicht genügen, aber ok, solange es geht.</p>
<p>merlot schrieb:</p>
<blockquote>
<p>datenStrg.h</p>
<pre><code class="language-cpp">class sqlite3; //Vorwärtsdeklaration eingefügt

class datenStrg
{
 public:
		 __fastcall datenStrg(TfrmOFmain *pMain);
		 __fastcall ~datenStrg();
	void __fastcall fehlerDB(sqlite3 *database);
        ...
 private:
	sqlite3			*database;
        ...
};
</code></pre>
<p>datenStrg.cpp</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;sqlite/sqlite3.h&gt;

using namespace std;

#pragma hdrstop

#include &quot;datenStrg.h&quot;
#include &quot;OFmain.h&quot;
#include &quot;Info.h&quot;
#include &quot;Hilfe.h&quot;
#include &quot;Parameter.h&quot;

#pragma package(smart_init)

__fastcall datenStrg::datenStrg(TfrmOFmain *pMain)
{
 if (sqlite3_open(&quot;daten.db&quot;, &amp;database) != SQLITE_OK) //Datenbank öffnen
 {
  fehlerDB( database );
 }
}
//---------------------------------------------------------------------------

__fastcall datenStrg::~datenStrg()
{
 sqlite3_close( database ); //Datenbank schließen
}
//---------------------------------------------------------------------------

void __fastcall datenStrg::fehlerDB(sqlite3 *database)
{
 /*Fehlercode ausgeben */
 ... = sqlite3_errmsg( database );
}

...
</code></pre>
</blockquote>
<p>Trotzdem danke an alle die helfen wollten und falls noch jmd. ne bessere Lösung hat dann her damit. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471766</guid><dc:creator><![CDATA[merlot]]></dc:creator><pubDate>Mon, 10 Mar 2008 21:03:37 GMT</pubDate></item></channel></rss>