Qt 4.4 MySQL Win2000 db.open() - Bug ?
Verfasst: 17. Juni 2008 15:12
Hallo,
ich habe heute beim Testen meiner Applikation etwas kurioses feststellen müssen.
Erstelle ich eine Mini-Applikation zu testzwecken, die nichts anderes macht, als einen Connect zu einer MySQL-Datenbank, so benötigt das Programm zum Schließen, sobald ein db.open() gemacht wurde, etwa 4-5sek.
Das Problem habe ich allerdings nur unter Windows 2000 beobachten können.
Wenn ich also ein kleines Programm schreibe, das im Konstruktor folgendes macht,
und das db.open() auskommentiere, so schließt die Applikation abrupt, ohne diesen Offset von 4-5sek (je nach Rechner-Potenz), andernfalls nicht.
Könnt ihr das ebenfalls nachvollziehen?
Wie gesagt, die Konstellation sieht wiefolgt aus:
Qt 4.4.0
MySQL 5.0
WinXP - läuft
Win2000 - dauer von 4-5sek seit Betätigung des Schließen-Buttons zum Beenden des Programms (im Task-Manager ersichtlich - aber auch als Child-Applikation gestartet über einen QProcess, und dann durch Lauschen auf das SIGNAL finished()).
Mfg KK
ich habe heute beim Testen meiner Applikation etwas kurioses feststellen müssen.
Erstelle ich eine Mini-Applikation zu testzwecken, die nichts anderes macht, als einen Connect zu einer MySQL-Datenbank, so benötigt das Programm zum Schließen, sobald ein db.open() gemacht wurde, etwa 4-5sek.
Das Problem habe ich allerdings nur unter Windows 2000 beobachten können.
Wenn ich also ein kleines Programm schreibe, das im Konstruktor folgendes macht,
Code: Alles auswählen
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("10.10.10.1");
db.setDatabaseName("database");
db.setUserName("user");
db.setPassword("pass");
if (!db.open())
{
QMessageBox::critical(0, "MySQL - Connect", db.lastError().text());
}
Könnt ihr das ebenfalls nachvollziehen?
Wie gesagt, die Konstellation sieht wiefolgt aus:
Qt 4.4.0
MySQL 5.0
WinXP - läuft
Win2000 - dauer von 4-5sek seit Betätigung des Schließen-Buttons zum Beenden des Programms (im Task-Manager ersichtlich - aber auch als Child-Applikation gestartet über einen QProcess, und dann durch Lauschen auf das SIGNAL finished()).
Mfg KK