Mailinglisten-Archive |
Hallo Ich habe folgendes Problem:
in einer Windows-Anwendung möchte ich auf Daten aus einer Mysql-Datenbank zugreifen. Der folgende Quelltext (Er ist natürlich unvollständig, habe ihn nur schnell aus dem Kopf ge-
schrieben) funktioniert soweit einwandfrei, aber beim Beenden der Anwendung erhalte ich
eine System-Fehlermeldung. Wenn ich am Ende meiner Funktion oder im Destruktor des Programms die Datenbankverbindung mit mysql_close zu lösen versuche, erhalte ich schon dann eine Fehlermeldung. Mit dem Debugger habe ich festgestellt, daß mein Destruktor
noch abgearbeitet wird, aber sobald Windows die Kontrolle übernimmt kommt es zu einem Ab
sturz. Ich würde mich sehr freuen, wenn mir jemand von Ihnen einen brauchbaren Tip geben
könnte.
Mit freundlichen Grüßen
Manfred
C++:
#include "mysql.h"
// Es folgt die Declaration für mysql_connect() sowie weitere Funktionen aus der libmysql.dll
typedef MYSQL * __stdcall (*MSQLCO)(MYSQL *, const char *, const char *, const char *); // MSQLCO
// ...
// ...
class Anwendung : public TWindow
{
public:
Anwendung(TWindow* parent = 0);
~Anwendung();
...
...
protected:
void Aaaaa();
DECLARE_RESPONSE_TABLE(TDruckschleife);
MYSQL * mysql;
MYSQL * rue;
}
DEFINE_RESPONSE_TABLE1(TDruckschleife, TWindow)
EV_COMMAND(CM_aaaa, Aaaaa),
END_RESPONSE_TABLE;
Anwendung::Anwendung(TWindow* parent)
{
Init(parent, 0, 0);
}
void Anwendung::Aaaaa()
{
MSQLCO Msql_connect;
// Hier stehen weitere Zeiger auf Funktionen
HINSTANCE hi;
FARPROC adr;
hi = LoadLibrary("libmysql.dll");
if(hi) { dc.TextOut(x1,y1,"TDL geladen",11); y1 += 16; }
else { dc.TextOut(x1,y1,"Fehler",6); y1 += 16; }
adr = GetProcAddress(hi, "mysql_connect");
Msql_connect = (MSQLCO)adr;
rue = (Msql_connect)(mysql, "localhost", "root", "");
// Hier folgen weitere Mysql-Funktionsaufrufe aus der
}
Anwendung::~Anwendung()
{
}
int
OwlMain(int /*argc*/, char* /*argv*/ [])
{
return TDrawApp().Run();
}
php::bar PHP Wiki - Listenarchive