Die Suche ergab 16 Treffer

von abelmi
18. Dezember 2009 14:16
Forum: Qt Programmierung
Thema: [gelöst] Erben von privaten Qt Klassen (PIMPL)
Antworten: 9
Zugriffe: 4493

Ich habe nun selbst eine Lösung für mein Problem gefunden. Ich habe die Klasse QSqlQueryModelPrivate nun veröffentlicht, indem ich in die Deklaration der Klasse das Makro Q_SQL_EXPORT hinzugefügt und Qt neu übersetzt habe. ... class Q_SQL_EXPORT QSqlQueryModelPrivate: public QAbstractItemModelPrivat...
von abelmi
17. Dezember 2009 12:24
Forum: Qt Programmierung
Thema: [gelöst] Erben von privaten Qt Klassen (PIMPL)
Antworten: 9
Zugriffe: 4493

@Christian81: ja genau. Bei der QSqlQueryModelPrivate fehlt der DLL Export. Die statische Lib konnte ich problemlos gegen das Executable linken. Das hat schon in allen meiner Projekten problemlos funktioniert. Ich vermute stark, dass in statsichen Bibliotheken alle Symbole öffentlich sind. Edit: Ich...
von abelmi
17. Dezember 2009 12:21
Forum: Qt Programmierung
Thema: [gelöst] Erben von privaten Qt Klassen (PIMPL)
Antworten: 9
Zugriffe: 4493

@franzf: Meine eigene Implementierung der QSqlTableModel (Klasse: MySqlTableModel) ist eine veränderte Kopie der orginal Qt Klasse, um das ursprüngliche Verhalten anzupassen. Auch die QSqlTableModelPrivate Klasse habe ich kopiert und angepasst. Diese verwendet aber auch Methoden der Basisklasse QSql...
von abelmi
17. Dezember 2009 11:00
Forum: Qt Programmierung
Thema: [gelöst] Erben von privaten Qt Klassen (PIMPL)
Antworten: 9
Zugriffe: 4493

Wenn ich meine Bibliothek als Debug Version dynamisch übersetzte, dann linke ich unter anderem auch gegen Sqld4.lib . Wenn Wenn ich meine Bibliothek statisch übersetzte, dann wird gegen QtSqld.lib gelinkt. Für die Release Version respektive jeweils ohne das "d" im Namen. Die statische Vers...
von abelmi
16. Dezember 2009 14:17
Forum: Qt Programmierung
Thema: [gelöst] Erben von privaten Qt Klassen (PIMPL)
Antworten: 9
Zugriffe: 4493

[gelöst] Erben von privaten Qt Klassen (PIMPL)

Hallo zusammen, ich habe meine eigene Implementierung der Klasse QSqlTableModel sowie QSqlTableModelPrivate (Klasse MySqlTableModel und MySqlTableModelPrivate). MySqlTableModel erbt von QSqlQueryModel; MySqlTableModelPrivate erbst von QSqlQueryModelPrivate. Diese und weitere Klassen habe ich in eine...
von abelmi
8. April 2008 11:00
Forum: Qt Programmierung
Thema: [solved] Transaktionen und QSqlTableModels
Antworten: 2
Zugriffe: 2261

nach einigen Anstrengungen und Kontakt mit Trolltech konnte ich jetzt den Fehler identifizieren und dank eines Patches vom Trolltech Support den Fehler beseitigen. Das qsqloci Plugin hat den Status der Transaktion nicht richtig gelesen. Ich denke, dass in der nächsten Qt Version dieser Fehler beseit...
von abelmi
3. April 2008 11:28
Forum: Qt Programmierung
Thema: QTablemodel.submitAll() verschluckt Update
Antworten: 3
Zugriffe: 3348

Die Methode setRecord() scheint nicht mit ManualSubmit zu arbeiten, wenn ich den Sourcecode von QSqlTableModel richtig interpretiere. Außerdem speichert das QSqlTableModel bei submitAll() nur die Änderungen, die im Cache sind. Nach dem Speichern setzt submitAll() dann ein select() ab und lädt dadurc...
von abelmi
31. März 2008 17:05
Forum: Qt Programmierung
Thema: [solved] Transaktionen und QSqlTableModels
Antworten: 2
Zugriffe: 2261

[solved] Transaktionen und QSqlTableModels

Hallo, wie es scheint, arbeiten QSqlTableModel nicht zusammen mit Transaktionen. Folgender Code führt nicht zu dem zu erwartenden Ergebnis. Vor einem submitAll() rufe ich an der QSqlDatabase ein transaction() auf. Gleich danach rufe ich ein rollback() auf. Jegliche Änderungen sollten durch das rollb...
von abelmi
31. März 2008 15:58
Forum: Qt Programmierung
Thema: ItemDelegate nur für bestimmten Index setzen?
Antworten: 3
Zugriffe: 2767

So eine Funktion vermisse ich auch. Die einzige Möglichkeit sehe ich in einem ItemDelegateProxy, der für bestimmte Zellen den eigenen speziellen ItemDelegate aufruft und für alle anderen Zelllen den standard QItemDelegate. Du musst einfach folgende Methoden überschreiben: virtual void paint ( QPaint...
von abelmi
31. März 2008 11:52
Forum: Einfach Qt
Thema: UNIX_TIMESTAMP() mit QSqlTableModel
Antworten: 14
Zugriffe: 10436

Ich arbeite gerade an einem ähnlichen Problem. Wir haben die Sache mit den Timestamps über Trigger in der Datenbank (Oracle) gelöst. Dadurch ist sichergestellt, dass die Datensätze auch einen Timestamp erhalten, wenn sie nicht vom Programm aus in die Datenbank geschrieben werden. Dies ist z.B. der F...
von abelmi
31. März 2008 11:43
Forum: Qt Programmierung
Thema: Begrenzte anzahl von Datensätzen QSqlTableModel/QTableView
Antworten: 2
Zugriffe: 2574

QSqlTableModel bzw. QSqlQuerModel cached immer nur 256 Zeilen. Wenn du den Scrollbar im View ganz an das Ende ziehst, dürften die restlichen Zeilen sichtbar werden. Alternativ kannst du durch folgendes Codefragment anfangs alle Zeilen in das Model laden: model->select(); while (myModel->canFetchMore...
von abelmi
28. Februar 2007 10:02
Forum: Qt Programmierung
Thema: [gelöst] QMultiHash & QVariant - compiler error C2665
Antworten: 5
Zugriffe: 4525

danke für den Tip und deine Hilfe Christian.
von abelmi
27. Februar 2007 13:49
Forum: Qt Programmierung
Thema: QtSql: Nach Kopieren auf Zielrechner keine Driver gefunden
Antworten: 3
Zugriffe: 2879

Probiere mal die plugins nicht unter \plugins\sqldrivers, sondern direkt unter \sqldrivers relativ zu deiner Anwendung zu kopieren. Mit QCoreApplication::setLibraryPaths() kannst du den Pfad setzen, wenn dieser abweicht. Mit QCoreApplication::applicationDirPath() kannst du dir den aktuellen Pfad dei...
von abelmi
27. Februar 2007 11:23
Forum: Qt Programmierung
Thema: [gelöst] QMultiHash & QVariant - compiler error C2665
Antworten: 5
Zugriffe: 4525

Hier meine Implementierung einer qHash-Methode für den Datentyp QVariant. #include <QHash.h> uint qHash( const QVariant & var ) { if ( !var.isValid() || var.isNull() ) return -1; switch ( var.type() ) { case QVariant::Int: return qHash( var.toInt() ); break; case QVariant::UInt: return qHash( va...
von abelmi
26. Februar 2007 16:02
Forum: Qt Programmierung
Thema: [gelöst] QMultiHash & QVariant - compiler error C2665
Antworten: 5
Zugriffe: 4525

danke Christian für die schnelle Antwort.

ich versuche deinen Vorschlag umzusetzen und diese Methode implementieren.

ich werde meine Erfahrungen/Fortschritte hier für die Nachwelt schreiben...