[Qt4] Q3MultiLineEdit -> QTextEdit
Verfasst: 29. September 2005 13:33
Hi ihr,
ich bin noch immer dabei ein altes auf Qt3 basierendes Projekt,
mit meiner bescheidenen C++ ERfahrung, auf Qt4 um zustellen.
Momentan häng ich bei einem Speicherschutzproblem,
welches mit Q3MultiLineEdit zusammenhängt.
Aus der Docu geht hervor das dieses durch QTextEdit ersetzt wurde
was ich auch gleich probiert habe.
FocusInEvent, FocusOutEvent und KeyPressEvent sind implementiert.
Die Sachen die ich geändert hab sind natürlich die Oberklasse,
nicht mehr Q3MultiLineEdit sondern QTextEdit.
In den Event-Funktionen hab ich an den stellen wo es
auftacht Q3MultiLineEdit::focusOutEvent()
etc. durch QTextEdit::focusOutEvent() ersetzt.
Soweit sogut, nur bekomm ich im laufenden Programm nun eine
Speicherzugriffsverletzung... Im Debugger wird mir das angeben:
die entsprechende Zeile im qlist.h ist:
inline int size() const { return d->end - d->begin; }
Woran liegt nun das Problem? Ist kein Speicher für den QTextEdit
inhalt verfügbar? Oder wo greif ich falsch auf nen Speicher zu?
Bis Auf die Oberklasse und die oben genannten Event-Funktionen von
QTextEdit hab ich nichts geändert.
Ich hoffe mir kann wiedermal geholfen werden.
Mfg
AliKe
ich bin noch immer dabei ein altes auf Qt3 basierendes Projekt,
mit meiner bescheidenen C++ ERfahrung, auf Qt4 um zustellen.
Momentan häng ich bei einem Speicherschutzproblem,
welches mit Q3MultiLineEdit zusammenhängt.
Aus der Docu geht hervor das dieses durch QTextEdit ersetzt wurde
was ich auch gleich probiert habe.
FocusInEvent, FocusOutEvent und KeyPressEvent sind implementiert.
Die Sachen die ich geändert hab sind natürlich die Oberklasse,
nicht mehr Q3MultiLineEdit sondern QTextEdit.
In den Event-Funktionen hab ich an den stellen wo es
auftacht Q3MultiLineEdit::focusOutEvent()
etc. durch QTextEdit::focusOutEvent() ersetzt.
Soweit sogut, nur bekomm ich im laufenden Programm nun eine
Speicherzugriffsverletzung... Im Debugger wird mir das angeben:
Code: Alles auswählen
Program received signal SIGSEGV, Segmentation fault.
0x080552c4 in QListData::size (this=0x10) at qlist.h:65
/usr/local/Trolltech/Qt-4.0.0/include/QtCore/qlist.h:65:2051:beg:0x80552c4
inline int size() const { return d->end - d->begin; }
Woran liegt nun das Problem? Ist kein Speicher für den QTextEdit
inhalt verfügbar? Oder wo greif ich falsch auf nen Speicher zu?
Bis Auf die Oberklasse und die oben genannten Event-Funktionen von
QTextEdit hab ich nichts geändert.
Ich hoffe mir kann wiedermal geholfen werden.
Mfg
AliKe